1 // Project name : D ( Fibonacci )
2 // File name : main.cpp
3 // Author : Izumu
4 // Date & Time : Tue Jul 10 14:02:23 2012
5
6 #include <iostream>
7 #include <stdio.h>
8 using namespace std;
9
10
11 int p[30][4]={1,1,1,0};
12
13 void mm(int * ret,int * a,int * b)
14 {
15 int x[4],y[4],i;
16 for(i=0;i<4;i++)
17 {
18 x[i]=a[i];
19 y[i]=b[i];
20 }
21 ret[0] = (x[0]*y[0] + x[1]*y[2]) % 10000;
22 ret[1] = (x[0]*y[1] + x[1]*y[3]) % 10000;
23 ret[2] = (x[2]*y[0] + x[3]*y[2]) % 10000;
24 ret[3] = (x[2]*y[1] + x[3]*y[3]) % 10000;
25 }
26
27 int main()
28 {
29 int i,n;
30 int a[4]={0,1,1,0};
31 for(i=1;i<30;i++)
32 {
33 mm(p[i],p[i-1],p[i-1]);
34 }
35 while(1)
36 {
37 scanf("%d",&n);
38 if(n==-1) break;
39 a[0]=1;a[1]=0;a[2]=0;a[3]=1;
40
41 for(i=0;i<30;i++)
42 {
43 if(n&(1<<i))
44 {
45 mm(a,a,p[i]);
46 }
47 }
48 cout << a[1] << endl;
49 }
50
51 return 0;
52 }
53
54
55 // end
56 // ism