#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef unsigned u; typedef vector vi; typedef pair pii; #define F first; #define S second; #define PB push_back; #define MP make_pair; bool EQ(double a, double b) { return (fabs(a-b) / (a+b) < DBL_EPSILON); } int main( ) { ios_base::sync_with_stdio(0); cin.tie(0); // code int n, x, y, cnt = 0; set spts, vecs; int ptsx[1000]; int ptsy[1000]; cin >> n; for (int i = 0; i < n; i++) { cin >> x >> y; spts.insert(make_pair(x, y)); ptsx[i] = x; ptsy[i] = y; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++ ) { if ( ptsx[i] == ptsx[j] and ptsy[i] == ptsy[j] ) continue; pii v = make_pair(ptsx[j] - ptsx[i], ptsy[j] - ptsy[i]); if (vecs.count(v) > 0) continue; vecs.insert(v); bool ok = true; for (int k = 0; k < n; k++) { pii sh1 = make_pair(ptsx[k] + v.first, ptsy[k] + v.second); // na nekoho pii sh2 = make_pair(ptsx[k] - v.first, ptsy[k] - v.second); // na me if (spts.count(sh1) == 0 and spts.count(sh2) == 0) { ok = false; break; } } if (ok) cnt++; } } cout << cnt; return 0; }