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