Jasio
시간 제한1초메모리 제한128 MB
길이 2 이상의 회문 부분 문자열을 포함하는 단어 수를 그대로 셌을 때와 i=j, p=b=d로 동일시했을 때 각각 구한다.
문제
Jasio는 단어 목록을 받았습니다. 이 가운데 길이가 2 이상인 팰린드롬을 부분 문자열로 포함하는 단어가 몇 개인지 세려고 합니다.
팰린드롬은 앞에서 읽으나 뒤에서 읽으나 똑같은 문자열입니다. 예를 들어 ala는 팰린드롬이지만, kot은 뒤에서 읽으면 tok이 되므로 팰린드롬이 아닙니다. 단어 foo는 길이가 2 이상인 팰린드롬 oo를 포함하지만, 단어 ftof는 길이가 2 이상인 팰린드롬을 포함하지 않습니다.
한 가지 문제가 있습니다. Jasio는 아직 글을 잘 읽지 못해서 글자 i와 j를 구별하지 못하고, 글자 p, b, d도 서로 구별하지 못합니다. 그래서 단어를 읽을 때 i와 j를 같은 글자로, p, b, d도 모두 같은 글자로 취급합니다. 이 때문에 Jasio는 단어 pod도 팰린드롬을 포함한다고 여깁니다. 그에게는 p와 d가 같은 글자로 보여서 pod가 앞뒤로 똑같이 읽히기 때문입니다.
다음을 수행하는 프로그램을 작성하세요.
- 처리할 단어 목록을 읽어 들인다.
- 글자 그대로 읽었을 때 길이가 2 이상인 팰린드롬을 포함하는 단어의 개수를 센다.
i와j를 같은 글자로,p,b,d를 같은 글자로 본다는 Jasio의 규칙에 따라, 길이가 2 이상인 팰린드롬을 포함한다고 Jasio가 여길 단어의 개수를 센다.- 두 개수를 출력한다.
입력
첫째 줄에 처리할 단어의 개수 이 주어집니다 (). 이어지는 개의 줄에는 각 줄마다 정확히 한 단어가 주어집니다. 단어는 영어 소문자로만 이루어지며, 어떤 단어의 길이도 200자를 넘지 않습니다.
출력
정확히 두 줄을 출력합니다. 각 줄에는 정수 하나가 들어갑니다. 첫째 줄에는 길이가 2 이상인 팰린드롬을 포함하는 단어의 개수를, 둘째 줄에는 같은 기준을 Jasio의 규칙(i = j, p = b = d)으로 적용했을 때의 개수를 출력합니다.