게으른 스펠링 비 (스몰)

목표 단어의 각 글자를 자신이나 이웃 글자로 바꾼 서로 다른 단어가 몇 개인지 셉니다.

쉬움3조합론문자열면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

게으른 스펠링 비에서는 참가자에게 목표 단어 WW를 철자로 말하게 한다. 참가자가 답한 단어 AA는 다음 두 조건을 모두 만족할 때 인정된다.

  • AA의 길이가 WW의 길이와 같다.
  • 모든 ii에 대해 AAii번째 글자가 WWi1i-1번째, ii번째, i+1i+1번째 글자 가운데 하나와 같다.

WW00번째 글자는 없으므로 AA의 첫 글자는 WW의 첫 글자나 두 번째 글자와 같아야 한다. 마지막 글자도 마찬가지로 WW의 마지막 글자나 끝에서 두 번째 글자와 같아야 한다. 목표 단어 자체는 언제나 인정되는 답이다.

목표 단어마다 인정되는 서로 다른 답 단어가 몇 개인지 구하라. 이 수가 매우 커질 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에는 각각 소문자 알파벳(a부터 z까지)으로만 이루어진 문자열이 하나씩 주어진다.

제한

  • 1T1001 \le T \le 100
  • 각 문자열의 길이는 11 이상 55 이하이다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx11부터 시작하는 테스트 케이스 번호이고, yy는 인정되는 서로 다른 답 단어의 개수를 109+710^9 + 7로 나눈 나머지이다.

힌트

목표 단어가 ag이면 인정되는 답은 aa, ag, ga, gg의 네 개다. 목표 단어가 aa이면 인정되는 답은 aa 하나뿐이다.