게으른 스펠링 비 (스몰)
면접 대비시간 제한5초메모리 제한512 MB
목표 단어의 각 글자를 자신이나 이웃 글자로 바꾼 서로 다른 단어가 몇 개인지 셉니다.
문제
게으른 스펠링 비에서는 참가자에게 목표 단어 를 철자로 말하게 한다. 참가자가 답한 단어 는 다음 두 조건을 모두 만족할 때 인정된다.
- 의 길이가 의 길이와 같다.
- 모든 에 대해 의 번째 글자가 의 번째, 번째, 번째 글자 가운데 하나와 같다.
에 번째 글자는 없으므로 의 첫 글자는 의 첫 글자나 두 번째 글자와 같아야 한다. 마지막 글자도 마찬가지로 의 마지막 글자나 끝에서 두 번째 글자와 같아야 한다. 목표 단어 자체는 언제나 인정되는 답이다.
목표 단어마다 인정되는 서로 다른 답 단어가 몇 개인지 구하라. 이 수가 매우 커질 수 있으므로 로 나눈 나머지를 출력한다.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 이어지는 개의 줄에는 각각 소문자 알파벳(a부터 z까지)으로만 이루어진 문자열이 하나씩 주어진다.
제한
- 각 문자열의 길이는 이상 이하이다.
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 부터 시작하는 테스트 케이스 번호이고, 는 인정되는 서로 다른 답 단어의 개수를 로 나눈 나머지이다.
힌트
목표 단어가 ag이면 인정되는 답은 aa, ag, ga, gg의 네 개다. 목표 단어가 aa이면 인정되는 답은 aa 하나뿐이다.