#include #include using namespace std; #define NMAX 100000 typedef struct {int x,y;}Point;int comparex(const void* p1,const void* p2) {return (*(Point*)p1).x-(*(Point*)p2).x;}int comparey(const void* p1,const void* p2) {return (*(Point*)p1).y - (*(Point*)p2).y;}int main(){ int a,c,d,e,f,h,i,j,l,m,n,p,r,s,t,u,v,z,k[NMAX],b[NMAX],o[NMAX],w[NMAX];cin>>n; Point g[n],q[n];for(int i=0;i>g[i].x>>g[i].y;q[i].x=g[i].x;q[i].y=g[i].y;} qsort(g,n,sizeof(Point),comparex);qsort(q,n,sizeof(Point),comparey);i=j=v=0;while(ji)qsort(&g[i],j-i, sizeof(Point),comparey);i=j;}i=0;j=0;p=0;while(ji)qsort(&q[i],j-i,sizeof(Point),comparex); i=j;}c=0;for(m=0;m1){int t=0;while(ts)break;}while(l>0){l--;u=d-g[k[r]+l].y; if(u==s){c++;break;}if(u>s)break;}}l=e=t;for(h=f-1;h>=0;h--){if(f==0)break; s=z-q[o[m]+h].x;while(es)break;}while(l>0){l--;u=d-g[k[r]+l].y;if(u==s){c++; break;}if(u>s)break;}}}}}cout<