# 행렬 곱셈을 응용해 피보나치 수를 구하는 문제
# 문제
# 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.
#
# 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다.
#
# n=17일때 까지 피보나치 수를 써보면 다음과 같다.
#
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
#
# n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.
#
# 입력
# 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다.
#
# 출력
# 첫째 줄에 n번째 피보나치 수를 1,000,000으로 나눈 나머지를 출력한다.
#
# 예제 입력 1
# 1000
# 예제 출력 1
# 228875
import sys

# 시간 초과 실패
# def calculate(first_list, second_list):
#     return first_list[0] * second_list[0][0] + first_list[1] * second_list[1][0]
#
#
# def fibonacci(A, k, n):
#     while k < n:
#         A = [A[1], calculate(A, [[1], [1]])]
#         k += 1
#     return A[1]
#
#
# n = int(sys.stdin.readline()[:-1])
# A = [0, 1]
# print(fibonacci(A, 1, n) % 1000000)