#U2122JG2. Farm Updates

Farm Updates

Farmer John operates a collection of NN farms (1N1051≤N≤105), conveniently numbered 1N1…N. Initially, there are no roads connecting these farms to each-other, and each farm is actively producing milk.Due to the dynamic nature of the economy, Farmer John needs to make changes to his farms according to a series of QQ update operations (0Q21050≤Q≤2⋅105). Update operations come in three possible forms:

  • (D x) Deactivate an active farm xx, so it no longer produces milk.
  • (A x y) Add a road between two active farms xx and yy.
  • (R e) Remove the eeth road that was previously added (e=1e=1 is the first road that was added).

A farm xx that is actively producing milk, or that can reach another active farm via a series of roads, is called a "relevant" farm. For each farm xx, please calculate the maximum ii (0iQ0≤i≤Q) such that xx is relevant after the ii-th update.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line of input contains NN and QQ. The next QQ lines each contain an update of one of the following forms:

D x
A x y
R e

It is guaranteed that for updates of type R, ee is at most the number of roads that have been added so far, and no two updates of type R have the same value of ee.

OUTPUT FORMAT (print output to the terminal / stdout):

Please output NN lines, each containing an integer in the range 0Q0…Q.

SAMPLE INPUT:

5 9
A 1 2
A 2 3
D 1
D 3
A 2 4
D 2
R 2
R 1
R 3

SAMPLE OUTPUT:

7
8
6
9
9

In this example, roads are removed in the order (2,3),(1,2),(2,4)(2,3),(1,2),(2,4).

  • Farm 11 is relevant just before (1,2)(1,2) is removed.
  • Farm 22 is relevant just before (2,4)(2,4) is removed.
  • Farm 33 is relevant just before (2,3)(2,3) is removed.
  • Farms 44 and 55 are still active after all queries. Therefore they both stay relevant, and the output for both should be QQ.

SCORING:

  • Tests 2 through 5 satisfy N103N≤103, Q2103Q≤2⋅103
  • Test cases 6 through 20 satisfy no additional constraints.