00023 {
00024 const int sz = 100;
00025 require(n < sz);
00026 static T f[sz];
00027 f[0] = f[1] = 1;
00028
00029 int i;
00030 for(i = 0; i < sz; i++)
00031 if(f[i] == 0) break;
00032 while(i <= n) {
00033 f[i] = f[i-1] + f[i-2];
00034 i++;
00035 }
00036 return f[n];
00037
00038 }