#include #include #include #define LL long long #define M 2005 #define P 1000 using namespace std; bool in_bounds(int x) { return x >= 0 && x < M; } int main() { vector > m(M, vector(M, false)); int N; cin >> N; vector xs(N), ys(N); int x, y; for (int i = 0; i < N; ++i) { cin >> x >> y; x = x + P; y = y + P; xs[i] = x; ys[i] = y; m[x][y] = true; } set> deltas; int out = 0; for (int i = 0; i < N - 1; ++i) { int dx = xs[i] - x, dy = ys[i] - y; //cout << dx << " " << dy << endl; bool ok = true; for (int j = 0; j < N; ++j) { if (in_bounds(xs[j] + dx) && in_bounds(ys[j] + dy) && m[xs[j] + dx][ys[j] + dy]) { continue; } if (in_bounds(xs[j] - dx) && in_bounds(ys[j] - dy) && m[xs[j] - dx][ys[j] - dy]) { continue; } ok = false; break; } if (ok && (deltas.find({dx, dy}) == deltas.end())) { out++; deltas.insert({dx, dy}); deltas.insert({-dx, -dy}); } } cout << 2 * out << endl; return 0; }