소수의 주기

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

계산기 없이 두 수의 나눗셈을 손으로 계산하는 연습을 하려고 한다. 이번 시험에는 bb진법으로 나타낸 두 수를 나눴을 때 그 몫의 주기의 길이를 구하는 문제가 나온다. 손으로 계산한 결과가 맞는지 확인해 주는 프로그램을 작성하자.

진법 bb, 분자 xx, 분모 yy가 주어진다. xxyy는 모두 bb진법으로 나타낸 수이다. bb진법 수 q=xyq = \dfrac{x}{y}의 순환마디(주기)의 길이를 구하는 프로그램을 작성하시오. 유리수 qqbb진법으로 나타내는 방법은 다음과 같다.

q=qnqn1q0.q1q2=i=nqibiq = q_n q_{n-1} \dots q_0 . q_{-1} q_{-2} \dots = \sum_{i=-\infty}^{n} q_i b^i

예를 들어 보자.

  • 110210=0.510\dfrac{1_{10}}{2_{10}} = 0.5_{10}
  • 13103=0.13\dfrac{1_{3}}{10_{3}} = 0.1_{3}
  • 2101110=0.18181810=0.1810\dfrac{2_{10}}{11_{10}} = 0.181818\dots_{10} = 0.\overline{18}_{10}

위의 처음 두 예는 유한소수이므로 주기의 길이는 00이다. 첫 번째 예를 주기의 길이가 110.49100.4\overline{9}_{10}으로 나타낼 수도 있지만, 이 문제에서는 그런 표현은 고려하지 않는다. 세 번째 예의 주기의 길이는 22이다.

입력

첫째 줄에 테스트 케이스의 수가 주어진다. 각 테스트 케이스는 한 줄로 이루어지며, 진법 bb, 분자 xx, 분모 yy가 공백으로 구분되어 주어진다. (2b362 \le b \le 36, 0<y100000100 < y \le 10000010)

bb는 10진법으로 주어지고, xxyybb진법으로 주어진다. 00부터 99까지의 숫자로 나타낼 수 없는 자리는 a(또는 A)부터 시작하는 알파벳으로 나타내며, 대소문자는 구별하지 않는다.

출력

각 테스트 케이스마다 Scenario #i:를 출력한 뒤, 다음 줄에 주기의 길이를 출력한다. (ii는 테스트 케이스 번호로 11부터 시작한다.) 각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.