#include <bits/stdc++.h>
using namespace std;
const int N = 2002;
long long ans = 0;
long long n;
struct Point {
  int x, y;
  void read() { scanf("%d%d", &x, &y); }
} p[N];
vector<double> ang;
int main() {
  scanf("%lld", &n);
  for (int i = 1; i <= n; i++) p[i].read();
  for (int i = 1; i <= n; i++) {
    ang.clear();
    for (int j = 1; j <= n; j++) {
      if (i == j) continue;
      ang.push_back(atan2(p[j].x - p[i].x, p[j].y - p[i].y));
      ang.push_back(atan2(p[j].x - p[i].x, p[j].y - p[i].y) + 2 * acos(-1));
    }
    sort(ang.begin(), ang.end());
    for (int j = 1; j <= n; j++) {
      if (i == j) continue;
      double a1 = atan2(p[j].x - p[i].x, p[j].y - p[i].y);
      double a2 = a1 + acos(-1);
      long long c1 = 0, c2 = 0;
      c1 = lower_bound(ang.begin(), ang.end(), a2) -
           lower_bound(ang.begin(), ang.end(), a1 + 1e-10);
      c2 = n - c1 - 2;
      ans = ans + (c1 * (c1 - 1) / 2) * (c2 * (c2 - 1) / 2);
    }
  }
  cout << ans / 2 << endl;
}
