/*
复习大数问题;
*/
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <string>
#include <iomanip>
using namespace std;int num[1005][55];
void add(int *a, int *b,int *c)
{int p = 0;int i;int minnum = (a[0]<b[0])?a[0]:b[0];for(i = 1; i <= minnum; i++){c[i] = (a[i]+b[i]+p)%10000;p = (a[i]+b[i])/10000;}if(a[0]>b[0]){for( ; i <= a[0]; i++){c[i] = (a[i] + p)%10000;p = (a[i] + p)/10000;}c[0] = a[0];if(p){c[i] = p;c[0]++;}}elseif(a[0]=b[0]){c[0] = a[0];if(p){c[i] = p;c[0]++;}}elseif(a[0]<b[0]){c[0] = b[0];for( ; i <= b[0]; i++){c[i] = (b[i] + p)%10000;p = (b[i] + p)/10000;}if(p){c[i] = p;c[0]++;}}
}
void prin_num(int *a)
{printf("%d",a[a[0]]);if(a[0] > 1)for(int i = a[0]-1; i >= 1; i--)printf("%04d",a[i]);printf("\n");
}
void set()
{num[1][0] = 1, num[1][1] = 1;num[2][0] = 1, num[2][1] = 1;for(int i = 3; i <= 1000; i++){add(num[i-1], num[i-2],num[i]);}
}int main(int argc, char *argv[])
{set();int n,p;scanf("%d",&n);while(n--){scanf("%d",&p);prin_num(num[p]);}return 0;
}