조화로운 행렬

시간 제한1초메모리 제한128 MB

문제

$m \times n$ 크기의 비트 행렬에서 모든 칸이 자신의 이웃 중 값이 $1$인 칸의 개수가 짝수일 때, 그 행렬을 조화로운(harmonious) 행렬이라고 부릅니다. 한 칸은 자기 자신도 이웃으로 세며, 그 밖에 바로 위, 아래, 왼쪽, 오른쪽 칸(존재하는 경우에 한해)도 이웃입니다. 따라서 한 칸의 이웃은 최대 다섯 개이며, 가장자리나 모서리에서는 더 적을 수 있습니다.

예를 들어 다음 $4 \times 4$ 행렬은 조화로운 행렬입니다.

0 1 0 0
1 1 1 0
0 0 0 1
1 1 0 1

$m$과 $n$이 주어질 때, $m \times n$ 크기의 조화로운 비트 행렬을 만드세요.

입력

첫째 줄에 정수 $Z$가 주어집니다($Z \le 40$). 다음 $Z$개의 줄에는 각각 공백으로 구분된 두 양의 정수 $m$과 $n$이 주어지며, 각 값은 $40$ 이하입니다. 각 줄은 하나의 입력 사례를 나타냅니다.

출력

각 입력 사례에 대해, 해당하는 $m \times n$ 행렬을 한 줄에 한 행씩 출력하고, 한 행의 원소는 공백 하나로 구분합니다. 사례들은 입력 순서대로 출력하며, 사례 사이에 빈 줄을 넣지 않습니다.

모든 원소가 $0$인 행렬은 항상 조화로우므로, 한 사례에 조화로운 행렬이 여러 개 존재할 수 있습니다. 답을 유일하게 정하기 위해, 사전순으로 가장 작은 $0$이 아닌 조화로운 행렬을 출력하세요. 만약 조화로운 행렬이 모두 $0$인 행렬뿐이라면, 모두 $0$인 행렬을 출력하세요. 두 행렬은 원소를 행 우선 순서(위에서 아래로, 각 행 안에서는 왼쪽에서 오른쪽으로)로 읽어 비교하며, $0$을 $1$보다 작다고 봅니다.