#include <iostream>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int n; cin >> n;
vector< vector<int> > a(401, vector<int>(401, 0));
while (n--) {
int u, v, c; cin >> u >> v >> c;
a[u + 200][v + 200] = 1 << (c - 1);
}
#define rep(i, a, b) for (int i=a; i<=b; i++)
#define LL long long
LL res = 0;
rep(i, 0, 400) rep(j, 0, i) {
vector<LL> f(16, 0);
rep(k, 0, 400) if (a[i][k] && a[j][k] && a[i][k] != a[j][k]) {
int c = a[i][k] | a[j][k];
res += f[15 - c];
f[c]++;
}
}
cout << res;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7CiAgICBpbnQgbjsgY2luID4+IG47CiAgICB2ZWN0b3I8IHZlY3RvcjxpbnQ+ID4gYSg0MDEsIHZlY3RvcjxpbnQ+KDQwMSwgMCkpOwogICAgd2hpbGUgKG4tLSkgewogICAgICAgIGludCB1LCB2LCBjOyBjaW4gPj4gdSA+PiB2ID4+IGM7CiAgICAgICAgYVt1ICsgMjAwXVt2ICsgMjAwXSA9IDEgPDwgKGMgLSAxKTsKICAgIH0KI2RlZmluZSByZXAoaSwgYSwgYikgZm9yIChpbnQgaT1hOyBpPD1iOyBpKyspCiNkZWZpbmUgTEwgbG9uZyBsb25nCiAgICBMTCByZXMgPSAwOwogICAgcmVwKGksIDAsIDQwMCkgcmVwKGosIDAsIGkpIHsKICAgICAgICB2ZWN0b3I8TEw+IGYoMTYsIDApOwogICAgICAgIHJlcChrLCAwLCA0MDApIGlmIChhW2ldW2tdICYmIGFbal1ba10gJiYgYVtpXVtrXSAhPSBhW2pdW2tdKSB7CiAgICAgICAgICAgIGludCBjID0gYVtpXVtrXSB8IGFbal1ba107CiAgICAgICAgICAgIHJlcyArPSBmWzE1IC0gY107CiAgICAgICAgICAgIGZbY10rKzsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IHJlczsKICAgIHJldHVybiAwOwp9Cg==