페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1053

피보나치 1초 64MB

문제

피보나치 정수 수열에서 F_0 = 0, F_1 = 1 이다. 그리고 모든 n ≥ 2 에 대하여 다음과 같이 정의 된다 F_n = F_{n-1} + F_{n-2} .

예를 들어 피보나치수열의 처음 몇 항들은 : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 … 이다.

피보나치수열의 다른 공식은 다음과 같다.

\left[\begin{matrix} F_{n+1} & F_n \\ F_n & F_{n-1} \\ \end{matrix}\right] = \left[\begin{matrix} 1 & 1 \\ 1 & 0 \\ \end{matrix}\right]^n = \underbrace{ \left[\begin{matrix} 1 & 1 \\ 1 & 0 \\ \end{matrix}\right] \left[\begin{matrix} 1 & 1 \\ 1 & 0 \\ \end{matrix}\right] \cdots \left[\begin{matrix} 1 & 1 \\ 1 & 0 \\ \end{matrix}\right]}_{n \; times}

주어진 정수 n에 대하여 당신이 할 일은 피보나치수열 F_n의 마지막 4자리수를 구하는 것이다.


입력

입력은 여러 개의 test case를 포함할 수 있다.

각 test case는 한 줄에 n (0 ≤ n ≤ 1,000,000,000)을 포함한다. 

입력의 끝은 −1을 포함한 한 줄로 주어지며 최대 50개를 초과하지 않는다.


출력

각 test case에 대해 ,F_n의 마지막 4자리수를 출력한다. (이를테면 F_n10,000 으로 나눈 나머지를 출력한다).

만약 마지막 네 자리가 모두 0 이라면 '0' 을 출력한다. 그렇지 않다면, 모든 leading zero는 제거한다.


예제1

입력
0

9
999999999
1000000000
-1
출력
0

34
626
6875


태그

역링크