#include #include #include #include using namespace std; struct node { int a[110]; int len; node (){ memset ( a, 0, sizeof (a) ); len = 1; } }f[210]; int n; node pplus ( node x, node y ){ node ret; ret.len = x.len; for ( int i = 1; i <= ret.len; i ++ ){ ret.a[i] += x.a[i]+y.a[i]; ret.a[i+1] += ret.a[i]/10; ret.a[i] %= 10; } if ( ret.a[ret.len+1] > 0 ) ret.len ++; return ret; } int main (){ int i, j, k; f[0].a[1] = 1; f[0].len = 1; f[1].a[1] = 1; f[1].len = 1; for ( i = 2; i <= 200; i ++ ){ f[i] = pplus ( f[i-1], f[i-2] ); } while ( scanf ( "%d", &n ) != EOF ){ for ( i = f[n].len; i >= 1; i -- ) printf ( "%d", f[n].a[i] ); printf ( "\n" ); } return 0; }