#include <stdio.h>
#include <string.h>
#define M 1002
char map[M][220] = {"0","1","1"};
void add(char *aStr, char *bStr, char *cStr)//aStr + bStr = cStr
{
int ai = strlen(aStr)-1,bi = strlen(bStr)-1,ci = 0;
int all,over = 0;
for(; ai>=0 || bi>=0; ai--,bi--)
{
all = (ai>=0 ? aStr[ai]-'0' : 0) + (bi>=0 ? bStr[bi]-'0' : 0) + over;
cStr[ci++] = all % 10 + '0';
over = all / 10;
}
if(over > 0) cStr[ci++] = over + '0';
cStr[ci] = '\0';
strrev(cStr);
}
void init()
{
for(int i=3; i<M; i++)
{
add(map[i-2],map[i-1],map[i]);
}
}
int main(int argc, char* argv[])
{
#ifdef __MYLOCAL
freopen("in.txt","r",stdin);
#endif
init();
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%s\n",map[n]);
}
return 0;
}