#include #include #include using namespace std; struct matrix_array{ int array[4]; matrix_array operator *(matrix_array another){ matrix_array ans; for(int i = 0; i < 3; i++){ ans.array[i] = (array[0] * another.array[i + 1] + array[i + 1] * another.array[0]) % 17; } ans.array[3] = array[0] * another.array[0] % 17; for(int i = 1; i < 4; i++){ ans.array[3] += array[0] * another.array[i] + array[i] * another.array[0]; ans.array[3] %= 17; } return ans; } }; const matrix_array A = {{1, 0, 0, 0}}; const matrix_array E = {{0, 0, 0, 1}}; int main(){ int Q; cin >> Q; matrix_array matrixes[int(2e6)]; matrixes[0] = {{0, 0, 0, 1}}; for(int i = 1; i < 2e6; i++){ matrixes[i] = matrixes[i - 1] * A; } for(int i = 0; i < Q; i++){ int n; cin >> n; cout << matrixes[n - 1].array[0] << endl; } }