#include <bits/stdc++.h>
const size_t maxN = 2005;
const double pi = std::acos(-1.0);
int N;
struct point_t {
  int x, y;
} A[maxN];
unsigned long long Ans;
inline unsigned long long C2(int m) {
  return (unsigned long long)m * (m - 1) / 2;
}
int main() {
  scanf("%d", &N);
  for (int i = 1; i <= N; ++i) scanf("%d%d", &A[i].x, &A[i].y);
  for (int i = 1; i <= N; ++i) {
    std::swap(A[i], A[1]);
    static double ang[maxN];
    for (int j = 2; j <= N; ++j)
      ang[j - 1] = std::atan2(A[j].y - A[1].y, A[j].x - A[1].x);
    std::sort(ang + 1, ang + N);
    for (int j = 1, k = 1; j < N && ang[j] <= 0.0; ++j) {
      while (k < N - 1 && ang[k + 1] < ang[j] + pi) ++k;
      Ans += C2(k - j) * C2(N - 2 - k + j);
    }
  }
  printf("%llu\n", Ans);
  return 0;
}
