#include #include using namespace std; using ll = long long; #define REP(i,n) for(int i=0;i void chmin(T& a, T b) { a = min(a, b); } template void chmax(T& a, T b) { a = max(a, b); } #define PR(x) cerr << #x << "=" << x << endl using i128 = __int128_t; int main() { int n; cin >> n; vector x(n), y(n); REP(i, n) cin >> x[i] >> y[i]; int ans = 0; REP(i, n) { map, int> mp; bool ok = false; REP(j, n) { if(i == j) continue; ll dx = x[j] - x[i]; ll dy = y[j] - y[i]; if(dx == 0) dy = dy; if(dy == 0) dx = dx; ll g = gcd(abs(dx), abs(dy)); dy /= g; dx /= g; mp[{dx,dy}] ++; if(mp[{dx,dy}] >= 2) ok =true; } if(ok) ans++; } cout << ans; return 0; }