#include <bits/stdc++.h>
using namespace std;
const int maxn = 6e3;
const long double pi = acos(-1.0L);
struct node {
  long long int x, y;
} p[maxn];
long double core[maxn];
int main() {
  long long int n;
  while (scanf("%lld", &n) != EOF) {
    for (int i = 1; i <= n; i++) {
      scanf("%lld%lld", &p[i].x, &p[i].y);
    }
    int cnt = 0;
    long long int ans =
        n * (n - 1) * (n - 2) * (n - 3) * (n - 4) / (long long int)(4 * 3 * 2);
    for (int i = 1; i <= n; i++) {
      cnt = 0;
      for (int j = 1; j <= n; j++) {
        if (i == j) continue;
        core[++cnt] = atan2(p[j].x - p[i].x, p[j].y - p[i].y);
      }
      for (int j = 1; j <= n; j++) {
        if (i == j) continue;
        core[++cnt] =
            atan2(p[j].x - p[i].x, p[j].y - p[i].y) + (long double)2 * pi;
      }
      sort(core + 1, core + cnt + 1);
      long long int pos = 1;
      for (int j = 1; j <= n - 1; j++) {
        pos = (long long int)(lower_bound(core + 1, core + cnt + 1,
                                          core[j] + pi) -
                              core);
        pos--;
        pos = pos - j;
        if (pos >= 3) ans = ans - (pos * (pos - 1) * (pos - 2) / 6);
      }
    }
    printf("%lld\n", ans);
  }
  return 0;
}
