/*
#include <stdio.h>
#include <stdlib.h>
int memo[100000010];
long long f(int n)
{
if(n <= 1)
{
return 1;
}
if(memo[n])
{
return memo[n];
}
memo[n] = (f(n-1) + f(n-2))%100000007;
return memo[n];
}
int main()
{
int n,i;
scanf("%d",&n);
printf("%lld",f(n));
}
*/
/*
#include <stdio.h>
#include <math.h>
int main()
{
int n,c=1;
int i;
scanf("%d",&n);
if(n%3!=0)
{
printf("0");
return 0;
}
n /= 3;
if(n == 2)
{
printf("2");
return 0;
}
for(i = 0;i < n;i++)
{
c *=2;
c %= 100000007;
}
printf("%d",c);
}
*/
/*
#include <stdio.h>
long long int memo[1000000];
long long f(int n)
{
if(n <= 1)
{
return 1;
}
if(memo[n])
{
return memo[n];
}
memo[n] = f(n-1) + 2*f(n-2)%100007;
////////////////////////////2367758
return memo[n];
}
int main()
{
int n,i;
scanf("%d",&n);
printf("%lld",f(n));
}
*/
#include <stdio.h>
int main()
{
int n,m = 0,c=1;
int i;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
c*=2;
m += c <= 10?c:c-10;
}
m %= 100007;
printf("%d",m);
}
/***
1 5 11 33 87
*/