피사노 주기
시간 제한1초메모리 제한128 MB
각 테스트 케이스마다 M으로 나눈 피보나치 수 나머지의 순환 구간 길이를 구합니다.
문제
1960년에 IBM에서 일하던 Donald Wall은 피보나치 수열을 으로 나눈 나머지가 주기를 이룬다는 사실을 증명했다.
예를 들어 피보나치 수열의 처음 10개 항을 11로 나눈 나머지는 다음과 같다.
나머지로 만든 수열은 같은 구간을 되풀이한다. 되풀이되는 부분 수열의 길이를 이라고 하면 이다.
Wall은 다음 성질도 증명했다.
- 이면 은 짝수다.
- 보다 큰 짝수 마다 인 이 존재한다.
- 이면
이 주어졌을 때 을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다.
다음 개 줄에는 각 줄마다 정수 과 이 공백 하나로 구분되어 주어진다. 은 테스트 케이스의 번호이고, 은 문제에서 설명한 이다.
출력
각 테스트 케이스마다 테스트 케이스의 번호 과 을 공백 하나로 구분해 한 줄에 출력한다. 입력에 주어진 순서를 그대로 따른다.
제한
- 모든 테스트 케이스의 을 더한 값은 이하다.