#include<stdio.h>
#include<algorithm>
#include<string>
#include<iostream>
#include<vector>
#include<map>
using namespace std;
struct Qr {int a, b, c;}Q[1212];
bool sort_a(Qr a, Qr b) {return a.a < b.a;}
map<string, int>M;
int state[12121];
int main() {
int n, m = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
int a,c;
string b;
cin >> a >> b >> c;
if (M.find(b) == M.end())M[b] = m++;
Q[i] = { a,M[b],c };
}
sort(Q, Q + n,sort_a);
Q[n].a = 1e9;
for (int i = 0; i < m; i++)state[i] = 7;
int ans = 0;
vector<int>befwho;
for (int i = 0; i < m; i++)befwho.push_back(i);
for (int i = 0; i < n; i++) {
state[Q[i].b] += Q[i].c;
if (Q[i].a == Q[i + 1].a)continue;
int mx = -1;
for (int j = 0; j < m; j++) mx = max(state[j], mx);
vector<int>who;
for (int j = 0; j < m; j++) if (state[j] == mx)who.push_back(j);
if (who.size() != befwho.size())ans++;
else for (int j = 0; j < who.size(); j++)if (who[j] != befwho[j]) { ans++; break; }
befwho.clear();
for (int j = 0; j < who.size(); j++)befwho.push_back(who[j]);
}
printf("%d", ans);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IFFyIHtpbnQgYSwgYiwgYzt9UVsxMjEyXTsKYm9vbCBzb3J0X2EoUXIgYSwgUXIgYikge3JldHVybiBhLmEgPCBiLmE7fQptYXA8c3RyaW5nLCBpbnQ+TTsKaW50IHN0YXRlWzEyMTIxXTsKaW50IG1haW4oKSB7CglpbnQgbiwgbSA9IDA7CglzY2FuZigiJWQiLCAmbik7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCWludCBhLGM7CgkJc3RyaW5nIGI7CgkJY2luID4+IGEgPj4gYiA+PiBjOwoJCWlmIChNLmZpbmQoYikgPT0gTS5lbmQoKSlNW2JdID0gbSsrOwoJCVFbaV0gPSB7IGEsTVtiXSxjIH07Cgl9Cglzb3J0KFEsIFEgKyBuLHNvcnRfYSk7CglRW25dLmEgPSAxZTk7Cglmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKylzdGF0ZVtpXSA9IDc7CglpbnQgYW5zID0gMDsKCXZlY3RvcjxpbnQ+YmVmd2hvOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspYmVmd2hvLnB1c2hfYmFjayhpKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJc3RhdGVbUVtpXS5iXSArPSBRW2ldLmM7CgkJaWYgKFFbaV0uYSA9PSBRW2kgKyAxXS5hKWNvbnRpbnVlOwoJCWludCBteCA9IC0xOwoJCWZvciAoaW50IGogPSAwOyBqIDwgbTsgaisrKSBteCA9IG1heChzdGF0ZVtqXSwgbXgpOwoJCXZlY3RvcjxpbnQ+d2hvOwoJCWZvciAoaW50IGogPSAwOyBqIDwgbTsgaisrKSBpZiAoc3RhdGVbal0gPT0gbXgpd2hvLnB1c2hfYmFjayhqKTsKCQlpZiAod2hvLnNpemUoKSAhPSBiZWZ3aG8uc2l6ZSgpKWFucysrOwoJCWVsc2UgZm9yIChpbnQgaiA9IDA7IGogPCB3aG8uc2l6ZSgpOyBqKyspaWYgKHdob1tqXSAhPSBiZWZ3aG9bal0pIHsgYW5zKys7IGJyZWFrOyB9CgkJYmVmd2hvLmNsZWFyKCk7CgkJZm9yIChpbnQgaiA9IDA7IGogPCB3aG8uc2l6ZSgpOyBqKyspYmVmd2hvLnB1c2hfYmFjayh3aG9bal0pOwoJfQoJcHJpbnRmKCIlZCIsIGFucyk7CglyZXR1cm4gMDsKfQ==