#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx")
using namespace std;
int a, b, c, d, n, m, k;
pair<int, int> mas[2002];
inline pair<int, int> operator-(const pair<int, int> &a,
                                const pair<int, int> &b) {
  return make_pair(a.first - b.first, a.second - b.second);
}
inline long long vec(const pair<int, int> &a, const pair<int, int> &b) {
  return (long long)a.first * b.second - (long long)b.first * a.second;
}
inline int sg(long long t) {
  if (t > 0)
    return 1;
  else if (t < 0)
    return -1;
  else
    return 0;
}
inline int cet(const pair<int, int> &t) {
  if (t.first > 0 && t.second >= 0)
    return 0;
  else if (t.first <= 0 && t.second > 0)
    return 1;
  else if (t.first < 0 && t.second <= 0)
    return 2;
  else
    return 3;
}
long long calc(vector<pair<int, int> > p) {
  if ((int)((p).size()) <= 2) return 0;
  sort((p).begin(), (p).end(),
       [](const pair<int, int> &a, const pair<int, int> &b) {
         int c1 = cet(a);
         int c2 = cet(b);
         if (c1 != c2) return c1 < c2;
         return vec(a, b) > 0;
       });
  auto nx = [&](int ind) {
    if (ind + 1 >= (int)((p).size()))
      return 0;
    else
      return ind + 1;
  };
  long long ans = 0;
  int a = 0;
  for (int _n(((int)((p).size())) - 1), i(0); i <= _n; i++) {
    if (a == i) a = nx(i);
    while (a != i) {
      if (vec(p[i], p[a]) <= 0) break;
      a = nx(a);
    }
    int cnt = 0;
    if (a == i) {
      cnt = (int)((p).size()) - 1;
    } else {
      cnt = a - i;
      if (cnt < 0) cnt += (int)((p).size());
      cnt -= 1;
    }
    int c1 = cnt, c2 = (int)((p).size()) - 1 - cnt;
    ans += (long long)c1 * (c1 - 1) / 2 * c2 * (c2 - 1) / 2;
  }
  return ans;
}
long long solve() {
  long long ans = 0;
  for (int _n((n)-1), i(0); i <= _n; i++) {
    vector<pair<int, int> > o;
    for (int _n((n)-1), j(0); j <= _n; j++) {
      if (j == i) continue;
      o.push_back(mas[j] - mas[i]);
    }
    ans += calc(o);
  }
  return ans / 2;
}
int main() {
  scanf("%d", &n);
  for (int _n((n)-1), i(0); i <= _n; i++) {
    scanf("%d%d", &mas[i].first, &mas[i].second);
  }
  cout << solve() << endl;
}
