#include <bits/stdc++.h>
using namespace std;
long long ccw(long long x1, long long y1, long long x2, long long y2) {
  return x1 * y2 - x2 * y1;
}
struct S {
  long long x, y;
  int t;
  S() {}
  S(int xx, int yy) {
    x = xx, y = yy;
    if (y > 0)
      t = 0;
    else if (y < 0)
      t = 1;
    else if (x > 0)
      t = 0;
    else
      t = 1;
  }
  bool operator<(const S &s) const {
    if (t != s.t) return t < s.t;
    return ccw(x, y, s.x, s.y) > 0;
  }
} a[4444];
int n;
long long x[4444];
long long y[4444];
int main() {
  int n;
  scanf("%d", &n);
  long long dap = 0;
  for (int i = 0; i < n; i++) scanf("%lld%lld", &x[i], &y[i]);
  for (int cur = 0; cur < n; cur++) {
    int sz = 0;
    for (int i = 0; i < n; i++) {
      if (cur != i) a[sz++] = S(x[i] - x[cur], y[i] - y[cur]);
    }
    sort(a, a + sz);
    for (int i = 0; i < sz; i++) {
      a[i + sz] = a[i];
    }
    long long b = 0;
    for (int i = 0, j = 0; i < sz; i++) {
      while (i == j || ccw(a[i].x, a[i].y, a[j].x, a[j].y) > 0) j++, b++;
      b--;
      long long c = n - 2 - b;
      dap += b * (b - 1) / 2 * c * (c - 1) / 2;
    }
  }
  printf("%lld", dap / 2);
}
