시간 제한
메모리 제한
서울 서쪽에서 스타크래프트를 가장 잘하는 팀은 지민이네 팀이고, 동쪽에서 가장 잘하는 팀은 한수네 팀이다. 두 팀은 누가 서울 최고인지 가리기 위해 대결을 벌이기로 했다.
지민이네 팀은 $N$명, 한수네 팀은 $M$명이다. 각 선수는 자신이 치러야 하는 경기 수가 정해져 있으며, 이 값은 선수마다 다를 수 있다.
대진표는 다음 규칙을 모두 만족해야 한다.
대진표는 $N \times M$ 행렬로 나타낸다. 행은 지민이네 팀, 열은 한수네 팀에 대응한다. $(i, j)$ 칸이 $1$이면 지민이네 $i$번 선수와 한수네 $j$번 선수가 대결하는 것이고, $0$이면 대결하지 않는 것이다.
두 대진표의 사전순 비교는 다음과 같이 정의한다. 먼저 두 행렬에서 처음으로 달라지는 행 $i$를 찾고, 그 행에서 처음으로 달라지는 열 $j$를 찾는다. 그 칸 $(i, j)$가 $0$인 대진표가 사전순으로 더 앞선다.
각 팀 선수들이 치러야 하는 경기 수가 주어질 때, 사전순으로 가장 앞서는 대진표를 출력하는 프로그램을 작성하시오.
첫째 줄에 지민이네 팀의 인원 $N$과 한수네 팀의 인원 $M$이 주어진다. 둘째 줄에는 지민이네 팀의 각 선수가 치러야 하는 경기 수가, 셋째 줄에는 한수네 팀의 각 선수가 치러야 하는 경기 수가 주어진다. $N$과 $M$은 $50$ 이하의 자연수이고, 각 경기 수는 $50$ 이하의 자연수 또는 $0$이다.
대진표를 $N$개의 줄에 출력한다. 각 줄은 그 행의 값을 공백 없이 이어 붙인 $M$자리 문자열이다. 조건을 만족하는 대진표가 없으면 $-1$을 출력한다.