#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;} int h[200000]; main(){ char*rp=mmap(0l,800l<<10,1,2,0,0ll); while(*rp++!=32); RD(x); long z=0; if(x<=200000){ do{ RD(a); z+=x-a>=0?h[x-a]:0; ++h[a]; }while(*rp); z+=z; z+=x&1?0:h[x>>1]; } char wbuf[16],*wp=wbuf+sizeof wbuf; while(*--wp=z%10+48,z/=10); write(1,wp,(wbuf+sizeof wbuf)-wp); _exit(0); }