#include<iostream>
#include<cstring>
using namespace std;
const int maxn=1000005;
int dp[maxn];
int fib(int n)
{
if(n==1||n==2)
return dp[n];
else
return dp[n-1]+dp[n-2];
}
int main()
{
int n;
while(cin>>n)
{
memset(dp,0,sizeof(dp));//memset参数
dp[1]=dp[2]=1;
for(int i=2;i<=n;i++)
{
//求dp数组
dp[i]=(dp[i-1]%10007+dp[i-2]%10007);
}
cout<<fib(n)%10007<<endl;
}
return 0;
}

京公网安备 11010502036488号