만드는 중입니다

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

또 다른 FizzBuzz 문제

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

요약
무한히 이어지는 FizzBuzz 문자열 F에서 주어진 문자열 L이 처음 나타나는 1부터 시작하는 위치를 구합니다. 나타나지 않으면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
문자열 매칭, 정수론, 수학
정답자
아직 제출이 없습니다

문제

양의 정수 수열 1,2,3,…1, 2, 3, \ldots을 다음과 같이 바꾼다.

  • 정수가 15로 나누어떨어지면 "FizzBuzz"로 바꾼다.
  • 정수가 3으로 나누어떨어지고 아직 바뀌지 않았다면 "Fizz"로 바꾼다.
  • 정수가 5로 나누어떨어지고 아직 바뀌지 않았다면 "Buzz"로 바꾼다.
  • 그 밖의 경우에는 정수를 그대로 둔다.

수열의 앞부분은 다음과 같다.

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz ...

이 수열을 공백 없이 이어 쓴 무한 문자열을 FF라고 한다. 문자열 LL이 주어졌을 때, LL이 FF의 부분 문자열로 나타나는지 확인하라. 나타난다면 처음 등장하는 위치를 1부터 세어 구하라.

입력

첫 줄에 테스트 케이스의 개수 NN이 주어진다 (1≤N≤201 \le N \le 20). 다음 NN개의 줄에는 숫자와 "F", "B", "i", "u", "z" 문자로 이루어진 빈 문자열이 아닌 문자열 LL이 한 줄에 하나씩 주어진다. LL의 길이는 15를 넘지 않는다.

출력

각 테스트 케이스마다 LL이 FF에 나타나지 않으면 −1-1을 출력한다. 나타나면 FF에서 LL의 첫 번째 원소가 처음 등장하는 위치를 1부터 세어 출력한다.

예제1

  1. 예제 1

    입력
    6
    1
    78Fizz
    68FizzBuzz71
    FizzBu
    uzzBuz
    987654321
    
    예상 출력
    1
    16
    208
    18
    -1
    8358189296