문제
피보나치수열이란
첫 번째 수와 두 번째 수는 1이고
세 번째 수부터는 앞의 두 수를 더하여 나오는 수열이다.
※ a, b, mod가 양의 정수, a^b = a의 b제곱 이라고 할 때,
나머지 연산에 관하여 다음과 같은 성질이 있다고 한다.
(a + b) % mod = (a % mod + b % mod) % mod
(a - b) % mod = (a % mod - b % mod ) % mod에서 결과값이 음수인 경우를 피하려면 (a % mod - b % mod + mod) % mod
(a * b) % mod = (a % mod * b % mod) % mod
(a^b % mod) = (a % mod) ^ b % mod
입력
첫 행에 N(1 <= N <= 2,000,000)과 M(10,007 <= N <= 1,000,000,007 범위의 소수)이 공백으로 구분되어 입력된다.
출력
하나의 행에 N번째 까지의 피보나치 수들 중에 짝수의 합을 구하여 M으로 나눈 나머지를 출력한다.
예제
7 10007
10
출처
comkiwer