시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB114232523630.102%

문제

n×n 크기의 행렬이 있다. 이 행렬은 0과 1로 이루어 져 있다. 예를 들어 다음과 같은 행렬이 있다고 하자.

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

그런데 행렬이 그려진 종이를 잃어버리고 말았다. 그래서 행렬에 대한 자세한 정보는 잃어버렸고 각 행과 열에 있는 1의 개수만을 알고 있다. 위 예에는 1행에는 1이 두 개, 2행에는 3개, 3행에 1개, 4행에 1개, 그리고 1열에 2개, 2열에 2개, 3열에 2개, 4열에 1개가 있는 것이다. 이와 같은 데이터가 주어져 있을 때, 원래의 행렬을 만드는 프로그램을 작성하시오.

입력

첫째 줄에 n(1 ≤ n ≤ 500)이 주어진다. 다음 줄에는 각 행에 있는 1의 개수가 1행부터 n행까지 차례로 주어진다. 그 다음 줄에는 각 열에 있는 1의 개수가 1열부터 n열까지 차례로 주어진다. 행 또는 열에 있는 1의 개수는 n보다 작거나 같은 음이 아닌 정수이다.

출력

만약 행렬을 구할 수 있으면 첫째 줄에 1을 출력한다. 그리고 n개의 줄에 행렬의 수들을 붙여서 출력한다. 만약 구할 수 없다면 첫째 줄에 -1을 출력한다. 가능한 행렬이 여러 개 존재할 경우에는 그 중 임의의 한 개를 출력하면 된다.

예제 입력 1

4
2 3 1 1
2 2 2 1

예제 출력 1

1
1100
1011
0100
0010

출처