void main(){ import std.stdio, std.string, std.conv, std.algorithm; const int mod=17; auto mat=new int[][][](64, 4, 4); mat[0][0][0]=1; mat[0][0][1]=1; mat[0][0][2]=1; mat[0][0][3]=1; mat[0][1][0]=1; mat[0][1][1]=0; mat[0][1][2]=0; mat[0][1][3]=0; mat[0][2][0]=0; mat[0][2][1]=1; mat[0][2][2]=0; mat[0][2][3]=0; mat[0][3][0]=0; mat[0][3][1]=0; mat[0][3][2]=1; mat[0][3][3]=0; foreach(t; 1..64){ auto prev=mat[t-1], nex=mat[t]; foreach(i; 0..4)foreach(j; 0..4){ foreach(k; 0..4) (nex[i][j]+=prev[i][k]*prev[k][j])%=mod; } } int q; rd(q); while(q--){ long n; rd(n); if(n<=3){writeln(0); continue;} if(n==4){writeln(1); continue;} auto a=new int[](4); a[0]=1; a[1]=0; a[2]=0; a[3]=0; n-=4; foreach(t; 0..64)if(n&(1L<