#include <cstdio>
#include <cstdlib>
#include <cstring>

// #define NO_FILES

int N, k;

const int MOD = 666013;
const int MAXN = 10000000;

int r[MAXN];
int pow2[128];
int cycle_length;

char buffer[1 << 20];

typedef long long ll;

int main() {
	//#ifndef NO_FILES
	//freopen(stdin, "numeremari.in", "r");
	//freopen(stdout, "numeremari.out", "w");
	//#endif

	scanf("%d %d", &N, &k);
	// precompute 2^k % MOD
	pow2[0] = 1;
	for (int i = 1; i < 128; ++i) {
		pow2[i] = (pow2[i-1] * 2) % MOD;
	}

	int group = pow2[k];
	for (int i = 1; i < MOD; ++i) {
		r[i] = ((ll)((ll)r[i-1] * pow2[k + 1]) + group) % MOD;
		if (r[i] == 0) {
			cycle_length = i;
			break;
		}
	}

	for (int i = 1; i <= N; ++i) {
		scanf("%s\n", buffer);
		int length = strlen(buffer);
		int index = 0;
		for (int j = 0; j < length; ++j) {
			index = (index * 10 + buffer[j] - '0') % cycle_length;
		}
		printf("%d\n", r[index]);
	}

	return 0;
}