#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;(i)<(n);++(i))
using namespace std;

#define fst first
#define snd second

int n, x[20], y[20];

using pii = pair<int, int>;
vector<pii> ary;

inline int det(pii a, pii b) {
	int ax = x[a.snd] - x[a.fst];
	int ay = y[a.snd] - y[a.fst];
	int bx = x[b.snd] - x[b.fst];
	int by = y[b.snd] - y[b.fst];
	return ax * by - ay * bx;
}


int ans = 0;

void dfs(int mask) {
	if (mask == (1 << n) - 1) {
		const int m = ary.size();
		int cur = 0;
		rep(j, m)rep(i, j) if (det(ary[i], ary[j]) == 0) cur++;
		ans = max(ans, cur);
	}

	int low = -1;
	rep(i, n) if (((mask >> i) & 1) == 0) low = i;
	mask |= (1 << low);

	rep(i, n) {
		if (((mask >> i) & 1) == 0) {
			ary.push_back(pii(low, i));
			dfs(mask | (1 << i));
			ary.pop_back();
		}
	}
}

int main(void) {
	cin >> n;
	rep(i, n) cin >> x[i] >> y[i];
	dfs(0);
	cout << ans << endl;
	return 0;
}