
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long int ll;
const ll mod = 10000;
const int maxn=3;
struct matrix{
ll arr[maxn][maxn];
matrix operator*(matrix b){
matrix ans;
ll tmp;
for(int i=0; i<maxn; i++)
for(int j=0; j<maxn; j++){
ans.arr[i][j] = 0;
for(int k=0; k<maxn; k++){
tmp = (arr[i][k]*b.arr[k][j])%mod;
ans.arr[i][j] = (ans.arr[i][j] + tmp)%mod;
}
}
return ans;
}
};
matrix quick_pow(matrix a,ll N){
matrix ans;
memset(ans.arr,0,sizeof(ans.arr));
for(int i=0; i<maxn; i++)
ans.arr[i][i] = 1;
while(N){
if(N&1)
ans = ans*a;
a = a*a;
N /= 2;;
}
return ans;
}
int main(){
ll n;
matrix a;
while(scanf("%lld",&n)&&n!=-1){
if(n==0){
printf("0\n");
continue;
}
memset(a.arr,0,sizeof(a.arr));
int b[2][2]={1,1,1,0};
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
a.arr[i][j]=b[i][j];
a=quick_pow(a,n-1);
printf("%lld\n",a.arr[0][0]);
}
return 0;
}