#include <stdio.h>
#include <stdlib.h>
#define MAX 666013
int execution(int x, int y, int z, int a, int b, int c, int n) {
int tmp = z;
if (n == 0) {
return z;
}
z = (a * z + b * y + c * x) % MAX;
x = y;
y = tmp;
return execution(x, y, z, a, b, c, n - 1);
}
int main() {
FILE *in, *out;
int t, a, b, c, x, y, z, n;
if ((in = fopen("iepuri.in", "rt")) == NULL) {
printf("Nu am putut deschide fisierul de intrare!\n");
return -1;
}
if ((out = fopen("iepuri.out", "wt")) == NULL) {
printf("Nu am putut deschide fisierul de iesire!\n");
return -2;
}
fscanf(in, "%d", &t);
for (int i = 0 ; i < t ; ++i) {
fscanf(in, "%d %d %d %d %d %d %d", &x, &y, &z, &a, &b, &c, &n);
fprintf(out, "%d\n", execution(a, b, c, x, y, z, n - 2));
}
fclose(in);
fclose(out);
return 0;
}