n = int(input())
memo = [0]*1001
memo[1] = 1
memo[2] = 3
for i in range(3, n+1):
memo[i] = (memo[i-1] + 2*memo[i-2]) % 10007
print(memo[n])
DP 문제에서 memoziation 배열의 크기를 동적으로 (n) 할당하면 미리 할당해 두는 memo의 경우 (n=2) 에러가 발생한다!
DP에서 memo 배열의 크기는 n의 최댓값으로 설정하자