#include <iostream>
#include <vector>
using namespace std;
//迭代写法,用例测试过多时会超时
int series(int n){
if(n==1)
return 1;
int n1=1;
int n2=0;
int k=2;
int res=2;
while(k<=n){
res=(2*n1+n2)%32767;
n2=n1;
n1=res;
k++;
}
return res;
}
int main() {
int n=0;
vector<int> res={1,2};
res.reserve(1000000);
for(int i=2;i<res.capacity();i++){
res.push_back(res[i-1]*2+res[i-2]);
/*
这里运用取模的性质防止答案溢出
an=2*an-1+an-1
res=an%32767=2*an%32767+an-1%32767
*/
res[i]=res[i]%32767;
}
cin>>n;
while (n) { // 注意 while 处理多个 case
int k;
cin>>k;
cout<<res[k-1]<<endl;
n--;
}
}
// 64 位输出请用 printf("%lld")