#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; }