#include<iostream>
#include<string>
#include<vector>
using namespace std;


int main(){
    int n;
    int s1, s2;
    int big_c1, big_c2, index;
    big_c1 = -1;
    big_c2 = -1;
    index = 0;
    cin >> n;

    vector<pair<int,int>> stars(n);
    vector<vector<bool>> sky(2001);

    for(int i = 0; i < 2001; i++){
        sky[i] = (vector<bool>(2001, false));
    }

    for(int i = 0; i < n; i++){
        cin >> s1;
        cin >> s2;

        s1 += 1000;
        s2 += 1000;

        if(s1 > big_c1){
            big_c1 = s1;
            big_c2 = s2;
            index = i;
        }
        else if(s1 == big_c1){
            if(s2 > big_c2){
                big_c1 = s1;
                big_c2 = s2;
                index = i;
            }
        }

        stars[i] = {s1, s2};
        sky[s1][s2] = true;
    }

    int shifts = 0;

    int v1,v2, n1, n2;
    bool result = true;

    for(int i = 0; i < n; i++){
        if(i == index){
            continue;
        }
        v1 = stars[i].first - stars[index].first;
        v2 = stars[i].second - stars[index].second;

        result = true;

        for(pair<int, int> &star : stars){
            n1 = star.first + v1;
            n2 = star.second + v2;
            
            if (n1 < 0 || n1 > 2000 || n2 < 0 || n2 > 2000){
                ;
            }
            else{
                if(sky[n1][n2] == true){
                    continue;
                }
            }

            n1 = star.first - v1;
            n2 = star.second - v2;
            if (n1 < 0 || n1 > 2000 || n2 < 0 || n2 > 2000){
                result = false;
                break;
            }
            else{
                if(sky[n1][n2] == true){
                    continue;
                }
                else{
                    result = false;
                    break;
                }
            }

        }
        if (result == true){
            shifts += 2;
        }
    }

    cout << shifts << endl;

    return 0;
}
