만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

게으른 스펠링 비 (스몰)

면접 대비

시간 제한5초메모리 제한512 MB

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

쉬움10점 중 3점

유형
조합론, 문자열
정답자
아직 제출이 없습니다

문제

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

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

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

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

입력

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

제한

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

출력

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

힌트

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

예제3

  1. 예제 1

    입력
    4
    ag
    aa
    abcde
    x
    
    예상 출력
    Case #1: 4
    Case #2: 1
    Case #3: 108
    Case #4: 1
    
  2. 예제 2

    입력
    1
    a
    
    예상 출력
    Case #1: 1
    
  3. 예제 3

    입력
    1
    aaaaa
    
    예상 출력
    Case #1: 1