#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int n,nr;
struct coord{int x,y;}points[100000];
int comp(const void *a,const void *b){
    int ax=((struct coord *)a)->x;
    int bx=((struct coord *)b)->x;
     int ay=((struct coord *)a)->y;
    int by=((struct coord *)b)->y;
    //cout<<ax<<bx;
    if(ax>bx)
        return 1;
    else if(ax<bx)
        return -1;else
    if(ay>by)
        return 1;
    else if(ay<by)
        return -1;


}
int main()
{
    //cout << "Hello world!" << endl;
    ifstream f("fis.in");
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>points[i].x>>points[i].y;
    //comp(&points[5],&points[4]);
    qsort(points,n,sizeof(coord),comp);

    for(int i=0;i<n;i++){

        for(int j=i+1; j<n; j++)
                 if(points[i].y==points[j].y){
                        int lc=0;
                        int k=i+1;
                        lc=abs(points[j].x-points[i].x);
                       // cout<<lc;
                        while(points[k].x<=points[j].x && k<n){
                            if(points[k].x==points[j].x || points[k].x==points[i].x)
                                if(points[j].y-lc==points[k].y || points[i].y+lc==points[k].y ||points[j].y+lc==points[k].y)
                                {
                                nr++;

                                }
                             k++;

                        }
                        k=i-1;
                         while(k>0 && points[k].x==points[i].x){

                                if(points[i].y-lc==points[k].y)
                                {
                                nr++;

                                }
                             k--;

                        }
                    }


    }
   cout<<nr<<endl;
    return 0;
}