#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const int N = 2111;
int n;
int x[N], y[N];
int main() {
  while (scanf("%d", &n) != EOF) {
    int i, j;
    for (i = 0; i < n; ++i) {
      scanf("%d%d", &x[i], &y[i]);
    }
    long long ans = 0;
    for (i = 0; i < n; ++i) {
      map<int, int> mp;
      for (j = 0; j < n; ++j) {
        if (i == j) continue;
        int tmp = INF;
        if (x[i] != x[j]) {
          tmp = 1000000 * (double)(y[j] - y[i]) / (x[j] - x[i]);
        }
        mp[tmp]++;
      }
      map<int, int>::iterator iter;
      for (iter = mp.begin(); iter != mp.end(); ++iter) {
        ans += (iter->second) * (n - 1 - iter->second);
      }
    }
    printf("%I64d\n", ans / 6);
  }
}
