바이트랜드 항공기 공장에서 새로운 제트기를 개발했다. 이제 비행기에 숫자로 이름을 붙이는 것은 유행이 지났기 때문에, 경영진은 두 단어로 된 이름을 붙이기로 했다. 잠재 고객의 눈길을 끌기 위해, 이름에는 특별한 성질이 하나 있어야 한다. 바로 ROT13 암호로 변환해도 여전히 말이 되어야 한다는 것이다. 즉, 변환된 이름은 원래 이름과 두 단어의 순서만 다를 뿐 나머지는 같아야 한다.
ROT13 암호는 각 알파벳을 알파벳 순서상 13칸 떨어진 글자로 바꾼다. 정확히는 아래 표를 따른다.
| 구분 | 알파벳 |
|---|---|
| 원래 글자 | abcdefghijklmnopqrstuvwxyz |
| 변환된 글자 | nopqrstuvwxyzabcdefghijklm |
다음을 수행하는 프로그램을 작성하라.
이름은 순서가 있는 두 단어 (w1,w2)이며, 두 단어 모두 주어진 목록에 있어야 한다. 이름 전체에 ROT13을 적용하면 (ROT13(w1),ROT13(w2))가 되고, 이것이 원래 두 단어를 재배열한 것과 같아야 한다. ROT13은 어떤 글자도 자기 자신으로 보내지 않으므로 순서를 그대로 두는 경우는 불가능하고, 결국 조건은 w2=ROT13(w1)과 같다. 이름 (w1,w2)와 (w2,w1)은 서로 다른 이름으로 센다.
첫째 줄에 정수 n이 주어진다 (1≤n≤1000000). 다음 n개의 줄에는 각각 영어 소문자로 이루어진 단어가 하나씩 주어진다. 각 단어는 적어도 한 글자를 가진다. 모든 단어의 길이 합은 1000000을 넘지 않는다.
만들 수 있는 서로 다른 비행기 이름의 총 개수를 한 줄에 정수로 출력한다.