CF1868A Fill in the Matrix
Description
There is an empty matrix $ M $ of size $ n\times m $ .
Zhongkao examination is over, and Daniel would like to do some puzzle games. He is going to fill in the matrix $ M $ using permutations of length $ m $ . That is, each row of $ M $ must be a permutation of length $ m^\dagger $ .
Define the value of the $ i $ -th column in $ M $ as $ v_i=\operatorname{MEX}(M_{1,i},M_{2,i},\ldots,M_{n,i})^\ddagger $ . Since Daniel likes diversity, the beauty of $ M $ is $ s=\operatorname{MEX}(v_1,v_2,\cdots,v_m) $ .
You have to help Daniel fill in the matrix $ M $ and maximize its beauty.
$ ^\dagger $ A permutation of length $ m $ is an array consisting of $ m $ distinct integers from $ 0 $ to $ m-1 $ in arbitrary order. For example, $ [1,2,0,4,3] $ is a permutation, but $ [0,1,1] $ is not a permutation ( $ 1 $ appears twice in the array), and $ [0,1,3] $ is also not a permutation ( $ m-1=2 $ but there is $ 3 $ in the array).
$ ^\ddagger $ The $ \operatorname{MEX} $ of an array is the smallest non-negative integer that does not belong to the array. For example, $ \operatorname{MEX}(2,2,1)=0 $ because $ 0 $ does not belong to the array, and $ \operatorname{MEX}(0,3,1,2)=4 $ because $ 0 $ , $ 1 $ , $ 2 $ and $ 3 $ appear in the array, but $ 4 $ does not.
Input Format
The first line of input contains a single integer $ t $ ( $ 1\le t\le 1000 $ ) — the number of test cases. The description of test cases follows.
The only line of each test case contains two integers $ n $ and $ m $ ( $ 1\le n,m\le 2\cdot 10^5 $ ) — the size of the matrix.
It is guaranteed that the sum of $ n\cdot m $ over all test cases does not exceed $ 2\cdot 10^5 $ .
Output Format
For each test case, in the first line output a single integer — the maximum beauty of $ M $ .
Then output the matrix $ M $ of size $ n\times m $ — the matrix you find.
If there are multiple solutions, you may output any of them.
Explanation/Hint
In the first test case:
- $ v_1=\operatorname{MEX}(1,0,1,0)=2 $ ;
- $ v_2=\operatorname{MEX}(0,2,0,2)=1 $ ;
- $ v_3=\operatorname{MEX}(2,1,2,1)=0 $ .
Therefore, $ s=\operatorname{MEX}(2,1,0)=3 $ .
It can be shown that $ 3 $ is the maximum possible beauty of $ M $ .
In the second test case, any permutation will make $ s=2 $ .
In the third test case:
- $ v_1=\operatorname{MEX}(3,5,1,4,4,2)=0 $ ;
- $ v_2=\operatorname{MEX}(0,2,3,1,2,4)=5 $ ;
- $ v_3=\operatorname{MEX}(1,1,2,3,5,0)=4 $ ;
- $ v_4=\operatorname{MEX}(4,0,4,2,3,5)=1 $ ;
- $ v_5=\operatorname{MEX}(2,4,5,5,0,1)=3 $ ;
- $ v_6=\operatorname{MEX}(5,3,0,0,1,3)=2 $ .
Therefore, $ s=\operatorname{MEX}(0,5,4,1,3,2)=6 $ .