#include <bits/stdc++.h>
using namespace std;
const int N = 2005;
struct node {
  double x, y;
} a[N];
int n;
long long ans;
double b[N], Pai = 3.1415926535897;
long long calc(long long x) { return x * (x - 1LL) / 2LL; }
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%lf%lf", &a[i].x, &a[i].y);
  for (int i = 1; i <= n; i++) {
    int tot = 0;
    for (int j = 1; j <= n; j++)
      if (i != j) b[++tot] = atan2(a[j].y - a[i].y, a[j].x - a[i].x);
    sort(b + 1, b + tot + 1);
    int p = 1;
    for (int j = 1; j <= tot && b[j] <= 0; j++) {
      while (p <= tot && b[p] - b[j] < Pai) p++;
      ans += calc(p - j - 1) * calc(tot - p + j);
    }
  }
  printf("%lld", ans);
  return 0;
}
