ans; a[200000]; odd[200000],even[200000],oddc,evenc; n,x,y; c(int*a,int*b){return*a-*b;} f(int x,int*a,int n){ int l=0,r=n; while(r-l>1){ int m=(l+r)/2; if(a[m]>x)r=m; else l=m; } return l; } g(i){ int l=abs(x-a[i]),r=x+a[i]; //l以上r以下があればok int *aa; int nn; if(l%2==1){ aa=odd; nn=oddc; }else{ aa=even; nn=evenc; } int temp=f(l,aa,nn); return aa[temp]>=l||aa[temp+1]<=r; } main(){ scanf("%d",&n); for(int i=0;i