#include <bits/stdc++.h>
using namespace std;
int has[205][205];
int vis[205][205];
vector<pair<int, int> > q;
int gcd(int x, int y) {
  if (x < y) swap(x, y);
  while (y) {
    int t = x % y;
    x = y;
    y = t;
  }
  return x;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    q.push_back(make_pair(y + 100, x + 100));
    has[x + 100][y + 100] = 1;
  }
  sort(q.begin(), q.end());
  if (n < 3) {
    printf("0\n");
    return 0;
  }
  long long ans1 = 0;
  int hehe = 0;
  int L = q.size();
  for (int i = 1; i <= 200; i++) {
    for (int j = 1; j <= 200; j++) {
      if (gcd(i, j) != 1) continue;
      memset(vis, 0, sizeof(vis));
      for (int k = 0; k < L; k++) {
        int yy = q[k].first;
        int xx = q[k].second;
        if (vis[xx][yy]) continue;
        int res = 0;
        while (xx <= 200 && yy <= 200) {
          vis[xx][yy] = 1;
          res += has[xx][yy];
          xx += i;
          yy += j;
        }
        if (res > 2) ans1 += (long long)res * (res - 1) * (res - 2) / 6;
      }
      memset(vis, 0, sizeof(vis));
      for (int k = 0; k < L; k++) {
        int yy = q[k].first;
        int xx = q[k].second;
        if (vis[xx][yy]) continue;
        int res = 0;
        while (xx >= 0 && yy <= 200) {
          vis[xx][yy] = 1;
          res += has[xx][yy];
          xx -= i;
          yy += j;
        }
        if (res > 2) ans1 += (long long)res * (res - 1) * (res - 2) / 6;
      }
    }
  }
  for (int i = 0; i <= 200; i++) {
    int xx = i;
    int yy = 0;
    int res = 0;
    while (xx <= 200 && yy <= 200) {
      res += has[xx][yy];
      yy += 1;
    }
    if (res >= 3) {
      ans1 += (long long)res * (res - 1) * (res - 2) / 6;
    }
  }
  for (int i = 0; i <= 200; i++) {
    int xx = 0;
    int yy = i;
    int res = 0;
    while (xx <= 200 && yy <= 200) {
      res += has[xx][yy];
      xx += 1;
    }
    if (res >= 3) {
      ans1 += (long long)res * (res - 1) * (res - 2) / 6;
    }
  }
  long long ans = (long long)n * (n - 1) * (n - 2) / 6 - ans1;
  cout << ans << endl;
  return 0;
}
