#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")