#1959. 睿爸必胜

睿爸必胜

当前没有测试数据。

Background

为了迎接即将到来的一年一度的盛大赛事-CSP,睿爸附小搞了个CSP百日誓师大会。 小朋友们在操场上排成n行m列。身着印有睿爸必胜的文化衫。这个文化衫是可以两面穿的,正穿显示白底黑字(用0表示),反穿则是黑底白字(用1表示)。

Description

每一行有个行长,他可以要求本行的所有人把文化衫脱下,翻个面继续穿上(整行翻面,不是其中某些人翻面)。

主席台上的徐校长比较喜欢白底黑字,但是他又不希望一列中全是白底黑字,他希望一列中恰好有一位小朋友的衣服是黑底白字,符合这样的列称为徐校长列。

你作为睿爸附小的教导主任兼誓师大会的总导演,可以要求任意的行长按照你的要求,调整整行文化衫的正反面,问最多能出现多少个徐校长列。

Format

Input

.每个测试点包含多组测试数据。第一行一个 t104t(10^4) ,表示测试数据的组数。

每组测试数据的第一行包含两个正整数 nnmn,m3×105n×m3×105m(n,m\le3\times10^5且n\times m\le3\times10^5)

接下来 nn 行每行包含一个长度为 mm 的 01 字符串。

单个测试点的 n×mn\times m 之和不超过 3×1053\times10^5

Output

对每一组测试数据,输出两行。

第一行输出徐老师列的最大值。

第二行输出一个01串,第 ii 个字符如果是'0'表示第 ii 行不变;为 '1'表示第 ii 行整行翻转。

如果有多组解,则输出最小字典序。

Samples

5
3 4
1010
0110
0100
1 1
1
1 1
0
2 5
00101
10110
3 3
101
111
000
3
010
1
0
1
1
3
00
2
010

Limitation

1s, 1024KiB for each test case.