#include<stdio.h>
#include<string.h>
using namespace std;
#define ll long long
#define met(d,dd) memset(d,dd,sizeof(d))
const ll mod=10000;
struct stu
{
int a[3][3];
};
stu cheng(stu A,stu B,ll n)
{
stu ans;
met(ans.a,0);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
ans.a[i][j]=(ans.a[i][j]+A.a[i][k]*B.a[k][j])%mod;
return ans;
}
ll S(ll n)
{
stu A,B;
met(A.a,0);
B.a[1][1]=1;
B.a[1][2]=1;
B.a[2][1]=1;
B.a[2][2]=0;
for(int i=1;i<=2;i++)
A.a[i][i]=1;
while(n)
{
if(n%2) A=cheng(A,B,2);
B=cheng(B,B,2);
n=n/2;
}
return A.a[1][2];
}
int main()
{
ll n;
while(scanf("%lld",&n))
{
if(n==-1) break;
ll sum=S(n);
printf("%lld\n",sum);
}
return 0;
}