#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int inf = 1e9 + 7;
const ll longinf = 1LL << 60;
const ll mod = 1e9 + 7;
long double v[3030];
int main() {
  ll n;
  cin >> n;
  vector<ll> a(n), b(n);
  vector<ll> x(n - 1), y(n - 1);
  for (int i = (int)(0); i < (int)(n); ++i) cin >> a[i] >> b[i];
  ll ret = 0;
  vector<int> ord(n - 1);
  for (int i = (int)(0); i < (int)(n); ++i) {
    int k = 0;
    for (int j = (int)(0); j < (int)(n); ++j) {
      if (i == j) continue;
      x[k] = a[j] - a[i];
      y[k] = b[j] - b[i];
      ++k;
    }
    for (int j = (int)(0); j < (int)(n - 1); ++j) ord[j] = j;
    for (int j = (int)(0); j < (int)(n - 1); ++j) v[j] = atan2l(y[j], x[j]);
    sort(ord.begin(), ord.end(), [&](int s, int t) { return v[s] < v[t]; });
    ll ans = (n - 1) * (n - 2) * (n - 3) * (n - 4) / 24;
    k = 1;
    int s = 0;
    for (int id : ord) {
      while (x[id] * y[ord[k]] - y[id] * x[ord[k]] > 0) {
        k++;
        if (k == n - 1) k = 0;
      }
      ll cnt = k - s;
      if (cnt <= 0) cnt += n - 1;
      ans -= (cnt - 1) * (cnt - 2) * (cnt - 3) / 6;
      ++s;
    }
    ret += ans;
  }
  cout << ret << endl;
  return 0;
}
