#include <bits/stdc++.h>
using namespace std;
const int N = 310;
int n, tot;
long long ans, f[N][N][5];
struct EDGE {
  int x, y;
  double d;
} g[N], e[N * N];
int cmp(EDGE a, EDGE b) { return a.d < b.d; }
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d %d", &g[i].x, &g[i].y);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      if (i != j)
        e[++tot] = (EDGE){i, j, atan2(g[j].y - g[i].y, g[j].x - g[i].x)};
  sort(e + 1, e + 1 + tot, cmp);
  for (int i = 1; i <= tot; i++) {
    f[e[i].x][e[i].y][0] = 1;
    for (int j = 1; j <= n; j++)
      for (int k = 1; k <= 4; k++) f[j][e[i].y][k] += f[j][e[i].x][k - 1];
  }
  for (int i = 1; i <= n; i++) ans += f[i][i][4];
  printf("%lld\n", ans);
  return 0;
}
