#include<stdio.h>
int main(){
int D[61], E[61];
int i,N,M,r;
char L;
//enquanto existem valores sendo fornecidos
while(scanf("%d", &N)>=0){
r=0;
//preenche os dois vetores com zeros
for(i=0; i<61; i++){
D[i] = 0;
E[i] = 0;
}
//enquanto tiver botas (N > 0) faça
while(N--){
scanf("%d %c", &M, &L);
if(L=='E') {
E[M]++;
} else {
D[M]++;
}
if(E[M] && D[M]){
E[M]--;
D[M]--;
r++;
}
}
printf("%d\n", r);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBtYWluKCl7CglpbnQgRFs2MV0sIEVbNjFdOwoJaW50IGksTixNLHI7CgljaGFyIEw7CgogICAgLy9lbnF1YW50byBleGlzdGVtIHZhbG9yZXMgc2VuZG8gZm9ybmVjaWRvcwoJd2hpbGUoc2NhbmYoIiVkIiwgJk4pPj0wKXsKCQlyPTA7CgkJLy9wcmVlbmNoZSBvcyBkb2lzIHZldG9yZXMgY29tIHplcm9zCgkJZm9yKGk9MDsgaTw2MTsgaSsrKXsKCQkJRFtpXSA9IDA7CgkJCUVbaV0gPSAwOwoJCX0KCQkvL2VucXVhbnRvIHRpdmVyIGJvdGFzIChOID4gMCkgZmHDp2EKCQl3aGlsZShOLS0pewoJCQlzY2FuZigiJWQgJWMiLCAmTSwgJkwpOwoJCQlpZihMPT0nRScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVbTV0rKzsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAJICAgIERbTV0rKzsKICAgICAgICAgICAgICAgICAgICAgICAgfQoJCQlpZihFW01dICYmIERbTV0pewoJCQkgICAgRVtNXS0tOwoJCQkgICAgRFtNXS0tOwoJCQkgICAgcisrOwoJCQl9CgkJfQoJCXByaW50ZigiJWRcbiIsIHIpOwoJfQoKCXJldHVybiAwOwp9