在 ICPC(国际插头与连接器公司)总部大楼里,有 $M$ 个灯泡,由 $N$ 个开关控制。每个灯泡恰好由一个开关控制。每个开关可以控制多个灯泡。当你操作一个开关时,所有受该开关控制的灯泡都会改变其状态。你丢失了记录开关与灯泡之间对应关系的表格,并希望恢复它。
你决定通过以下步骤恢复该对应关系:
- 起初,每个开关都处于关闭状态,每个灯泡也都处于关闭状态。
- 你操作了一些开关,记为 $S_1$。
- 你检查了灯泡的状态,记为 $B_1$。
- 你操作了一些开关,记为 $S_2$。
- 你检查了灯泡的状态,记为 $B_2$。
- ...
- 你操作了一些开关,记为 $S_Q$。
- 你检查了灯泡的状态,记为 $B_Q$。
在你操作了一些开关并检查了灯泡状态后,开关和灯泡的状态会保持到下一次操作。
你能利用你操作的开关信息以及检查到的灯泡状态来恢复开关与灯泡之间的对应关系吗?
输入格式
输入包含多组数据。数据集的数量不超过 50,文件大小不超过 10MB。
每个数据集的第一行包含三个整数 $N$ ($1 \le N \le 36$),$M$ ($1 \le M \le 1,000$),$Q$ ($0 \le Q \le 1,000$),分别表示开关的数量、灯泡的数量和操作的次数。接下来的 $Q$ 行描述了你操作的开关信息和检查到的灯泡状态。其中第 $i$ 行包含两个长度分别为 $N$ 和 $M$ 的字符串 $S_i$ 和 $B_i$。$S_i$ 中的每个字符表示你操作的开关集合:$S_{ij}$ 为 0 或 1,分别表示第 $j$ 个开关未被操作或已被操作。$B_i$ 中的每个字符表示灯泡的状态:$B_{ij}$ 为 0 或 1,分别表示第 $j$ 个灯泡处于关闭或开启状态。
你可以假设存在一种与给定信息一致的开关与灯泡之间的对应关系。
输入的末尾由一行包含三个零的行表示。
输出格式
对于每个数据集,输出开关与灯泡之间的对应关系,由 $M$ 个 36 进制数字组成。在本题的 36 进制系统中,数值 0-9 和 10-35 分别由字符 ‘0’-‘9’ 和 ‘A’-‘Z’ 表示。对应关系的第 $i$ 个字符表示控制第 $i$ 个灯泡的开关编号。如果你无法确定哪个开关控制第 $i$ 个灯泡,则输出 ‘?’ 作为第 $i$ 个字符,而不是开关编号。
样例
输入 1
3 10 3 000 0000000000 110 0000001111 101 1111111100 2 2 0 1 1 0 2 1 1 01 1 11 11 10 10000000000 10000000000 11000000000 01000000000 01100000000 00100000000 00110000000 00010000000 00011000000 00001000000 00001100000 00000100000 00000110000 00000010000 00000011000 00000001000 00000001100 00000000100 00000000110 00000000010 0 0 0
输出 1
2222221100 ?? 0 1 0123456789A