package BOJ;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* BOJ 11726
* https://www.acmicpc.net/problem/11726
*/
public class TwoNTiling_11726 {
private static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
// D(n) = 2n : 2n 면적의 경우의 수
// 마지막 블럭을 놓을 수 있는 경우의 수는 2가지다.
// (1x2)블럭 2개 또는 (2x1)블럭 1개
// (1x2)블럭 2개를 놓는다면 남은 블럭의 면적은 2(n-2)
// (2x1)블럭 1개를 놓는다면 남은 블럭의 면적은 2(n-1)
// D(n) = D(n-1) + D(n-2)
arr = new int[1000+1];
System.out.println(solve(n));
}
private static int solve(int n){
arr[1] = 1;
arr[2] = 2;
for(int i=3; i<=n; i++){
arr[i] = arr[i-1] + arr[i-2];
arr[i] %= 10007;
}
return arr[n];
}
}