#include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; int main() { int n; cin >> n; vector x(n), y(n); for (int i = 0; i < n; ++i) { cin >> x[i] >> y[i]; } vector> v; for (int i = 0; i < n; ++i) { for (int j = i+1; j < n; ++j) { v.emplace_back((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]), i, j); } } sort(v.begin(),v.end()); vector alive(n, 1); for (auto [cost, a, b] : v) { if(alive[a] != 1 || alive[b] != 1) continue; if(a == 0) alive[b] = 0; else if(b == 0) alive[a] = 0; else { alive[a] = alive[b] = -1; } } int ans = 0; for (int i = 0; i < n; ++i) { if(alive[i] == 0) ans++; } cout << ans << "\n"; return 0; }