제임스는 회사의 중요한 데이터를 표에 적었고, 표의 각 칸에는 0 이상 100 이하의 정수가 들어 있다. 통계를 위해 그는 각 행의 합과 각 열의 합도 함께 적어 두었다.
회의에 가는 길에 종이가 비에 젖어 일부 칸을 읽을 수 없게 되었지만, 행과 열의 합은 그대로 남아 있다. 제임스는 표를 최대한 복구하려고 한다. 아직 읽을 수 있는 칸은 값을 이미 알고 있고, 읽을 수 없는 칸은 행과 열의 합만으로 값이 하나로 정해질 수도 있고 여러 값이 가능할 수도 있다.
각 칸에 대해, 읽을 수 있는 칸들과 모든 행·열의 합에 의해 그 값이 하나로 정해지는지 판단하라.
입력에는 여러 개의 테스트 케이스가 있다. 각 테스트 케이스는 표의 크기를 나타내는 두 정수 $N$과 $M$($1 \le N, M \le 50$)이 있는 줄로 시작한다. 이어지는 $N$개의 줄에는 각각 $M$개의 정수가 있는데, 아직 읽을 수 있는 칸은 0 이상 100 이하의 값이고, 읽을 수 없는 칸은 $-1$이다.
표 다음에는 두 줄이 더 온다. 첫 줄에는 $N$개의 정수로 위에서 아래로 각 행의 합이, 둘째 줄에는 $M$개의 정수로 왼쪽에서 오른쪽으로 각 열의 합이 주어진다. 모든 행과 열의 합은 0 이상 5000 이하이다.
입력은 두 개의 0이 있는 줄로 끝나며, 이 줄은 테스트 케이스가 아니다.
주어지는 모든 표는 유효함이 보장된다. 즉, 읽을 수 없는 칸들을 0 이상 100 이하의 정수로 채워서 모든 행과 열의 합을 맞출 수 있는 방법이 존재한다.
각 테스트 케이스에 대해, 복구한 표를 $N$개의 줄에 각 줄 $M$개의 항목으로 출력한다.
입력에서 읽을 수 있던 칸은 그 값을 출력한다. 읽을 수 없던 칸은, 읽을 수 있는 칸들과 모든 행·열의 합에 부합하는 0 이상 100 이하의 정수가 정확히 하나뿐이면 그 값을 출력하고, 그렇지 않으면 $-1$을 출력한다.
한 줄에서 연속한 항목은 공백 한 칸으로 구분하고, 줄 끝에 공백을 남기지 않으며, 테스트 케이스 사이에 빈 줄을 출력하지 않는다.