Problem:
Set: Search

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

insert($x$): Insert $x$ to $S$ and report the number of elements in $S$ after the operation.

find($x$): Report the number of $x$ in $S$ (0 or 1).

Input

The input is given in the following format.

$q$
$query_1$
$query_2$
:
$query_q$

Each query $query_i$ is given by

0 $x$

or

1 $x$

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

Output

For each insert operation, print the number of elements in $S$.

For each find operation, print the number of specified elements in $S$.

Constraints

$1 \leq q \leq 200,000$

$0 \leq x \leq 1,000,000,000$

Sample Input 1

7
0 1
0 2
0 3
0 2
0 4
1 3
1 10

Sample Output 1

1
2
3
3
4
1
0

Solution in C (judge verdict: Memory Limit Exceeded)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define LARGE 500000000



int main(){
	int q,i,com,x;
	int num=0;
	int *a;
	
	scanf("%d",&q);
	a=malloc(sizeof(int)*LARGE);
	for(i=0;i<LARGE;i++)a[i]=-1;
	
	for(i=0;i<q;i++){
		scanf("%d %d",&com,&x);
		if(com==0){
			if(a[x/2]==-1){
				if(x%2==0)a[x/2]=2;
				else a[x/2]=1;
				num++;
			}
			else if(a[x/2]==1){
				if(x%2==0)a[x/2]=3;
				else num--;
				num++;
			}
			else if(a[x/2]==2){
				if(x%2==0)num--;
				else a[x/2]=3;
				num++;
			}
			printf("%d\n",num);
		}
		
		else if(com==1){
			if(x%2==0 && (a[x/2]==2 || a[x/2]==3))printf("1\n");
			else if(x%2==1 && (a[x/2]==1 ||a[x/2]==3))printf("1\n");
			else printf("0\n");
		}
	}
	
	return 0;
}