시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
N행 M열 상자가 있다. 각 칸은 빈칸이거나, 오른쪽 위와 왼쪽 아래 방향을 서로 잇는 / 모양 거울이 놓인 칸이다. 빈칸을 지나는 빛은 같은 방향으로 계속 이동하고, 거울을 만난 빛은 오른쪽으로 오던 경우 위로, 아래에서 위로 오던 경우 오른쪽으로, 왼쪽으로 오던 경우 아래로, 위에서 아래로 오던 경우 왼쪽으로 반사된다.
상자 가장자리에는 총 2N+2M개의 구멍이 있다. 왼쪽 변은 위에서 아래로 1번부터 N번까지, 아래쪽 변은 왼쪽에서 오른쪽으로 N+1번부터 N+M번까지, 오른쪽 변은 아래에서 위로 N+M+1번부터 2N+M번까지, 위쪽 변은 오른쪽에서 왼쪽으로 2N+M+1번부터 2N+2M번까지 번호가 붙어 있다.
각 구멍에서 빛을 쏘았을 때 빛이 나오는 구멍의 번호가 모두 주어진다. 이 정보를 만족하는 상자의 모양을 하나 구하라. 입력은 항상 답이 하나 이상 존재하는 경우만 주어진다.
첫째 줄에 두 정수 N, M (1 ≤ N, M ≤ 100)이 주어진다.
다음 2N+2M개 줄에는 1번 구멍부터 2N+2M번 구멍까지, 각 구멍에서 쏜 빛이 나오는 구멍의 번호가 차례대로 주어진다.
N개의 줄에 상자의 모양을 출력한다. 각 줄에는 M개의 정수를 공백으로 구분해 출력한다. 빈칸은 0, / 모양 거울이 있는 칸은 1이다.
가능한 상자의 모양이 여러 가지라면 그중 아무 것이나 출력해도 된다.