#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd_skip() while(*rp++>=48) #define rd() ({long _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define wt(v) {ulong _z=v;do*--wp=_z%10+48;while(_z/=10);} #define rep4(v,s,e,t) for(long v=s;v=s;) typedef unsigned long ulong; char a[200004]; ulong f1(){ char*mmap(); char*rp=mmap(0l,1l<<25,1,2,0,0ll); ulong n=rd(); rd_skip(); while(*rp){ a[rd()]=1; } return n; } ulong f2(ulong n){ ulong z=n; rrep3(i,1,n+1){ ulong x=0; rep4(j,i,n+1,i){ x^=a[j]; } z-=x; a[i]=x; } return z; } void f3(ulong z){ char wbuf[64],*wp=wbuf+sizeof wbuf; wt(z); write(1,wp,wbuf+sizeof wbuf-wp); } int main(){ f3(f2(f1())); _exit(0); }