#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define HASHSIZE 500009 int hash[HASHSIZE]; int hk1,hk2; char*mmap(); #define RD(v) int v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} void check(int a){ int h=(long)a*hk1%HASHSIZE; if(hash[h]==a){ write(1,"2",1); _exit(0); } if(hash[h]){ int h2=(long)(a/HASHSIZE+1)*hk2%HASHSIZE; do{ h+=h2; h-=h