CF BUDDY
← Problems·

1622E · Math Test

2200 · bitmasks, brute force, greedy

Problem: Petya is a math teacher. nn of his students has written a test consisting of mm questions. For each student, it is known which questions he has answered correctly and which he has not.

If the student answers the jj-th question correctly, he gets pjp_j points (otherwise, he gets 00 points). Moreover, the points for the questions are distributed in such a way that the array pp is a permutation of numbers from 11 to mm.

For the ii-th student, Petya knows that he expects to get xix_i points for the test. Petya wonders how unexpected the results could be. Petya believes that the surprise value of the results for students is equal to i=1nxiri\sum\limits_{i=1}^{n} |x_i - r_i|, where rir_i is the number of points that the ii-th student has got for the test.

Your task is to help Petya find such a permutation pp for which the surprise value of the results is maximum possible. If there are multiple answers, print any of them.

Input Format: The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases.

The first line of each test case contains two integers nn and mm (1n101 \le n \le 10; 1m1041 \le m \le 10^4) — the number of students and the number of questions, respectively.

The second line contains nn integers x1,x2,,xnx_1, x_2, \dots, x_n (0xim(m+1)20 \le x_i \le \frac{m(m+1)}{2}), where xix_i is the number of points that the ii-th student expects to get.

This is followed by nn lines, the ii-th line contains the string sis_i (si=m;si,j{0,1}|s_i| = m; s_{i, j} \in \{0, 1\}), where si,js_{i, j} is 11 if the ii-th student has answered the jj-th question correctly, and 00 otherwise.

The sum of mm for all test cases does not exceed 10410^4.

Output Format: For each test case, print mm integers — a permutation pp for which the surprise value of the results is maximum possible. If there are multiple answers, print any of them.

Sample Cases

Case 1

Input

3
4 3
5 1 2 2
110
100
101
100
4 4
6 2 0 10
1001
0010
0110
0101
3 6
20 3 15
010110
000101
111111

Output

3 1 2 
2 3 4 1 
3 1 4 5 2 6

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback