피보나치 수는 다음 점화식으로 정의되는 수열이다.
Fn=⎩⎨⎧01Fn−1+Fn−2n=0n=1n>1
피보나치 수는 x2=x+1의 두 근 중 하나인 황금비 φ=25+1와 관계가 깊다. 일반항을 Fn=5φn−(1−φ)n로 쓸 수 있다는 점이 그런 예다. 이제 φ로 파이보나치 수를 다음 점화식으로 정의한다.
Pn=⎩⎨⎧1φPn−1+Pn−2n=0n=1n>1
F−1=1로 두면 n≥0에서 Pn=Fnφ+Fn−1이 성립한다. 여기서 묻는 것은 (Pn)k를 두 정수 A, B로 Aφk+B 꼴로 나타낼 수 있는지다. 나타낼 수 있으면 A와 B를 출력하고, 불가능하면 -1을 출력하라.
첫째 줄에 두 정수 n과 k가 공백으로 구분되어 주어진다.
0≤n≤1012, 1≤k≤1012이다.
첫째 줄에 (Pn)k=Aφk+B를 만족하는 두 정수 A, B를 각각 1,000,000,007로 나눈 나머지를 공백으로 구분해 출력한다. 그런 두 정수가 없으면 -1을 출력한다.
n=3, k=2인 경우 (P3)2=(2φ+1)2=4φ2+4φ+1=8φ2−3이다. −3을 1,000,000,007로 나눈 나머지가 1,000,000,004이다.