#D10955. Set: Delete

    ID: 9103 Type: Default 2000ms 268MiB

Set: Delete

Set: Delete

For a set SS of integers, perform a sequence of the following operations. Note that each value in SS must be unique.

  • insert(xx): Insert xx to SS and report the number of elements in SS after the operation.
  • find(xx): Report the number of xx in SS (0 or 1).
  • delete(xx): Delete xx from SS.

Constraints

  • 1q200,0001 \leq q \leq 200,000
  • 0x1,000,000,0000 \leq x \leq 1,000,000,000

Input

The input is given in the following format.

qq query1query_1 query2query_2 : queryqquery_q

Each query queryiquery_i is given by

0 xx

or

1 xx

or

2 xx

where the first digits 0, 1 and 2 represent insert, find and delete operations respectively.

Output

For each insert operation, print the number of elements in SS. For each find operation, print the number of specified elements in SS.

Example

Input

8 0 1 0 2 0 3 2 2 1 1 1 2 1 3 0 2

Output

1 2 3 1 0 1 3

inputFormat

Input

The input is given in the following format.

qq query1query_1 query2query_2 : queryqquery_q

Each query queryiquery_i is given by

0 xx

or

1 xx

or

2 xx

where the first digits 0, 1 and 2 represent insert, find and delete operations respectively.

outputFormat

Output

For each insert operation, print the number of elements in SS. For each find operation, print the number of specified elements in SS.

Example

Input

8 0 1 0 2 0 3 2 2 1 1 1 2 1 3 0 2

Output

1 2 3 1 0 1 3

样例

8
0 1
0 2
0 3
2 2
1 1
1 2
1 3
0 2
1

2 3 1 0 1 3

</p>