/*#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*#include<stdio.h>
int chair(n,k)
{
if(k==1)
{
return n;
}
if(n==1||n==k)
{
return 1;
}
return chair(n-1,k-1)+chair(n-1,k);
}
int main()
{
int n,k;
scanf("%d %d",&n,&k);
printf("%d",chair(n,k));
return 0;
}
*/
/*#include<stdio.h>
int memo[10001]={};
int blocks(int k)
{
if(k==1)
{
return 1;
}
if(k==2)
{
return 2;
}
else if(memo[k]!=0)
{
return memo[k];
}
return memo[k]=(blocks(k-2)+blocks(k-1))%100000007;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",blocks(n));
return 0;
}*/
/*#include<stdio.h>
int memo[10001]= {};
int block(int k)
{
if(memo[k]!=0)
{
return memo[k];
}
if(memo[k]==0)
{
if(k%3!=0)
{
return 0;
}
if(k%3==0)
{
return memo[k]=block((k/3)*2)%100000007;
}
}
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",block(n));
return 0;
}*/
#include<stdio.h>
int memo[10001]={};
int block(int k)
{
if(memo[k]!=0)
{
return memo[k];
}
else if(k==1)
{
return 1;
}
else if(k==2)
{
return 2;
}
return memo[k]=(block(k-1)+block(k-2))%100007;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",block(n));
return 0;
}