고집 센 학생

각 분수 x/y에서 소수점 아래 반복이 시작되기 전 자릿수와 반복 마디의 길이를 구한다. 유한소수면 반복 길이는 0이다.

보통6수학정수론해시맵시뮬레이션면접 대비아직 제출이 없습니다시간 제한8초메모리 제한512 MB

문제

당신은 초등학생을 가르치는 학원 강사다. 오늘 수학 시간에 분수의 나눗셈을 설명했고, 수업은 순조롭게 흘러갔다. 그런데 학생 한 명이 몫을 소수로 어디까지 정확하게 적을 수 있는지 궁금해졌다. 이 학생은 나눗셈을 여러 개 시험해 보다가 소수점 아래 숫자가 끝나지 않는 경우를 찾아냈고, 그 뒤로도 자리를 늘려 가며 계산을 이어 갔다. 강사인 당신은 그 전개가 무한히 반복된다는 사실을 이미 알고 있었다. 손으로 아무리 계산해도 끝은 나오지 않는다.

수업에서 다룰 내용이 아직 남았으니 이 일을 프로그램으로 정리하기로 한다. 학생은 숫자가 결국 순환한다는 설명을 받아들였고, 순환이 시작되기 전까지 몇 자리를 계산할 수 있는지와 순환하는 부분의 길이만 알고 싶어 한다.

주어진 피제수와 제수 쌍마다 소수 전개에서 순환 부분이 어디서 시작하는지와 순환 부분의 길이를 구하는 프로그램을 작성한다. 계산은 모두 십진법으로 한다. 몫이 유한소수면 순환 부분의 길이를 0으로 본다.

입력

입력은 여러 개의 데이터 집합으로 이루어지고, 한 줄에 하나씩 주어진다. 각 데이터 집합은 피제수 xx와 제수 yy를 나타내는 양의 정수 두 개이며, 1x<y10000001 \le x < y \le 1000000이다.

마지막 데이터 집합 다음 줄에는 0이 두 개 주어진다. 이 줄은 데이터 집합이 아니므로 처리하지 않는다.

출력

각 데이터 집합마다 정수 두 개를 공백 하나로 구분해 한 줄에 출력한다.

앞의 수는 순환 부분이 시작되기 전까지 소수점 아래에 나오는 자릿수이고, 뒤의 수는 순환 부분의 길이다.