#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
const int mod = 1e9 + 7;
const int inf = 0x3f3f3f3f;
const long long INF = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1.0);
long long gcd(long long a, long long b) {
  if (a < b) swap(a, b);
  return b ? gcd(b, a % b) : a;
}
long long cnt[4][4];
int x[maxn], y[maxn];
long long cal(long long n, long long m) {
  long long res = 1;
  for (long long i = n; i >= n - m + 1; i--) res *= i;
  for (long long i = 1; i <= m; i++) res /= i;
  return res;
}
void solve() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d%d", &x[i], &y[i]);
    cnt[x[i] % 4][y[i] % 4]++;
  }
  long long ans = 0;
  for (int i = 0; i <= 2; i++) {
    for (int j = 0; j <= 2; j++) {
      ans += cal(cnt[i][j], 3);
      ans += cal(cnt[i][j], 2) * ((long long)n - cnt[i][j]);
    }
  }
  printf("%lld\n", ans);
}
int main() {
  solve();
  return 0;
}
