#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; const int maxn = 233, mod = 9973; char str[maxn]; LL ans[maxn]; inline LL read() { int c=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-')f=-1; ch=getchar(); } while(ch>='0'&&ch<='9') { c=c*10+ch-'0'; ch=getchar(); } return c*f; } LL Quick_Mod(LL a,LL b) { LL ans=a,ret=1; while(b) { if(b&1) ret = ret*ans%mod; b>>=1; ans=ans*ans%mod; } return ret; } void solve_one ( ) { int n, a, b; while (~scanf ( "%d", &n )) { scanf ("%s",str+1); int len = strlen (str+1); ans[0] = 1; for(int i = 1; i <= len; ++ i) ans[i] = ans[i-1]*(str[i]-28)%mod; while(n--) { scanf("%d%d", &a, &b); LL k=(ans[a-1]+mod)%mod; LL res=Quick_Mod(k, mod-2 )*ans[b]%mod; printf("%lld\n",(res+mod)%mod); } } } struct BigInteger { string str; friend string operator + ( const BigInteger a, const BigInteger b ) { int l1 = a.str.size ( ), l2 = b.str.size ( ); int i, j, temp = 0; string res = ""; for ( i = l1-1, j = l2-1; i >= 0 && j >= 0; i --, j -- ) { int tmp = ( a.str[i]-'0' )+( b.str[j]-'0' )+temp; temp = tmp/10; tmp %= 10; res = res+( char )( tmp+'0' ); } while ( i >= 0 ) { int tmp = ( a.str[i]-'0' )+temp; temp = tmp/10; tmp %= 10; res = res+( char )( tmp+'0' ); i --; } while ( j >= 0 ) { int tmp = ( b.str[j]-'0' )+temp; temp = tmp/10; tmp %= 10; res = res+( char )( tmp+'0' ); j --; } while ( temp > 0 ) { res = res+( char )( temp%10+'0' ); temp /= 10; } for ( i = 0, j = res.size ( )-1; i < j; i ++, j -- ) swap ( res[i], res[j] ); return res; } }; BigInteger ans2[maxn]; void solve_two( ) { int n; ans2[1].str = "1"; ans2[2].str = "2"; for ( int i = 3; i < maxn; i ++ ) ans2[i].str = ans2[i-1]+ans2[i-2]; while (~scanf("%d",&n)) //printf("%d\n",ans2[]) cout << ans2[n].str << endl; } int main( ) { //freopen("1.txt","r",stdin); solve_two(); return 0; }