도시와 주

도시 이름과 두 글자 주 코드가 주어진 20만 개 이하의 도시 중에서, 한 도시 이름의 앞 두 글자가 다른 도시의 주 코드이고 그 반대도 성립하며 두 주 코드가 다른 짝의 수를 센다.

보통5해시맵문자열조합론구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

농부 존은 소가 지루해하지 않도록 헛간 벽에 커다란 미국 지도를 붙여 두었다. 소는 헛간에서 오랜 시간 이 지도를 들여다보다가 재미있는 규칙을 몇 가지 찾아냈다. 예를 들어 미시간주의 FLINT와 플로리다주의 MIAMI는 특별한 관계다. "FLINT"의 앞 두 글자는 MIAMI가 속한 주의 코드 FL이고, "MIAMI"의 앞 두 글자는 FLINT가 속한 주의 코드 MI다.

도시 두 개가 이 성질을 만족하면서 서로 다른 주에 속하면 두 도시를 특별한 쌍이라고 부른다. 즉 도시 ii와 도시 jj가 특별한 쌍이려면 도시 ii 이름의 앞 두 글자가 도시 jj의 주 코드와 같고, 도시 jj 이름의 앞 두 글자가 도시 ii의 주 코드와 같고, 두 주 코드가 서로 달라야 한다.

특별한 쌍이 모두 몇 개인지 세어라. 쌍에는 순서가 없으므로 같은 두 도시로 이루어진 쌍은 한 번만 센다.

입력

첫째 줄에 지도에 실린 도시의 수 NN (1N2000001 \le N \le 200\,000)이 주어진다.

다음 NN개의 줄에는 도시 이름과 그 도시가 속한 주 코드가 공백으로 구분되어 한 줄에 하나씩 주어진다. 도시 이름은 길이가 2 이상 10 이하인 대문자 알파벳 문자열이고, 주 코드는 길이가 2인 대문자 알파벳 문자열이다. 주 코드는 ZQ처럼 실제 미국의 주가 아닌 값일 수도 있다. 이름이 같은 도시가 여러 개 주어질 수 있지만, 그런 도시는 서로 다른 주에 속한다.

출력

특별한 쌍의 개수를 한 줄에 출력한다.