#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define RD(v) int v=0;{int c;while(c=*rp++-48,c>=0)v=v*10+c;} #define NB 18 int m[1<>NB|1; while(1){ if(m[h]==0){ m[h]=a<<1; ++z; break; } if(m[h]>>1==a){ z-=~m[h]&1; m[h]|=1; break; } h=(h+s)&(1<