//*/*/*/*/*//*/*/*/*/*//**//*/*//*/*
/*#include<stdio.h>
int map[10000]={0};
long long int f(int x)
{
if(x==1)
{
return 2;
}
return f(x-1)*2%100000007;
}
int main()
{
int x;
scanf("%d",&x);
if(x%3==0)
{
printf("%lld",f(x/3)%100000007);
}
else
{
printf("0");
}
}
*/
/*
#include<stdio.h>
int map[10000]={0};
int f(int x)
{
if(map[x]!=0)
{
return map[x];
}
if(x==0)
{
return 1;
}
else if(x==1)
{
return 1;
}
else if(x==2)
{
return 3;
}
map[x]=(f(x-2)+f(x-2)+f(x-1))%100007;
return map[x];
}
int main()
{
int x;
scanf("%d",&x);
printf("%d",f(x));
}
*/
#include<stdio.h>
int map[10000]={0};
int f(int x)
{
if(map[x]!=0)
{
return map[x];
}
if(x==1)
{
return 1;
}
if(x==2)
{
return 2;
}
map[x]=f(x-2)*5%100007;
return map[x];
}
int main()
{
int x;
scanf("%d",&x);
printf("%d",f(x));
}