만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

피보나치 수

시간 제한2초메모리 제한512 MB

요약
길이 n(1 이상 18 이하)의 숫자열이 주어질 때, F_k의 끝자리가 이 숫자열과 일치하는 k를 10^100 미만에서 찾고, 없으면 NIE를 출력합니다.
난이도

보통10점 중 7점

유형
정수론, 수학, 구현
정답자
아직 제출이 없습니다

문제

피보나치 수는 다음과 같이 정의한다.

F0=0F_0 = 0, F1=1F_1 = 1, Fm=Fm−1+Fm−2F_m = F_{m-1} + F_{m-2} (m≥2m \ge 2)

앞자리에 0을 붙이지 않은 십진수 표기가 주어진 숫자열로 끝나는 kk를 찾아라.

입력

첫 줄에 nn개의 숫자로 이루어진 문자열 c1c2…cnc_1c_2\ldots c_n이 주어진다 (1≤n≤181 \le n \le 18, 0≤ci≤90 \le c_i \le 9).

출력

0≤k<101000 \le k < 10^{100}을 만족하는 정수 kk 중에서 FkF_k의 십진수 표기가 c1c2…cnc_1c_2\ldots c_n으로 끝나는 값이 하나라도 존재하면, 그러한 kk를 아무거나 하나 출력한다. 존재하지 않으면 NIE를 출력한다.

예제2

  1. 예제 1

    입력
    025
    
    예상 출력
    1525
    
  2. 예제 2

    입력
    222
    
    예상 출력
    NIE