격자 곱셈

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

격자 곱셈은 두 수의 곱을 격자 위에서 자리마다 계산하는 방법이다. 첫째 수 AA의 자릿수가 mm이고 둘째 수 BB의 자릿수가 nn이면 nnmm열짜리 격자를 그리고, 그 바깥을 테두리로 한 번 더 감싼다.

345와 56을 곱하면 다음과 같다.

+---------------+
|   3   4   5   |
| +---+---+---+ |
| |1 /|2 /|2 /| |
| | / | / | / |5|
|1|/ 5|/ 0|/ 5| |
| +---+---+---+ |
|/|1 /|2 /|3 /| |
| | / | / | / |6|
|9|/ 8|/ 4|/ 0| |
| +---+---+---+ |
|/ 3 / 2 / 0    |
+---------------+

첫째 수 345는 격자 위쪽에 놓이고, 각 자리 숫자는 자기 열의 한가운데에 온다. 둘째 수 56은 격자 오른쪽에 놓이고, 각 자리 숫자는 자기 행의 한가운데에 온다.

격자의 한 칸은 이런 모양이다.

+---+
|3 /|
| / |
|/ 0|
+---+

한 칸은 그 열 위에 있는 숫자와 그 행 오른쪽에 있는 숫자의 곱을 나타낸다. 위 그림에서 이 칸은 345의 5와 56의 6을 곱한 5×6=305 \times 6 = 30이다. 곱의 십의 자리는 칸의 왼쪽 위에 쓰고, 일의 자리는 칸의 오른쪽 아래에 쓴다. 곱이 한 자리이면 십의 자리에 0을 쓴다.

전체 곱은 같은 자릿값을 나타내는 대각선끼리 더해서 얻는다. 345×56=19320345 \times 56 = 19320은 이렇게 계산한다.

일의 자리= 0
십의 자리= 5 + 3 + 4 = 12, 즉 2에 받아올림 1
백의 자리= (받아올림 1) + 2 + 0 + 2 + 8 = 13, 즉 3에 받아올림 1
천의 자리= (받아올림 1) + 2 + 5 + 1 = 9
만의 자리= 1

곱의 일의 자리는 격자 아래 줄의 가장 오른쪽에 놓고, 나머지 자리는 왼쪽으로 이어서 쓴다. 그 줄에 다 들어가지 않으면 남은 윗자리가 왼쪽 아래 모서리를 돌아 격자 왼쪽 열을 타고 위로 올라간다. 곱의 각 자리는 그 자리를 만들어 낸 대각선의 연장선 위에 정확히 놓인다.

가로선은 빼기 문자(-), 세로선은 파이프 문자(|), 대각선은 슬래시 문자(/)로 그린다. 가로선과 세로선이 만나는 자리에는 더하기 문자(+)를 쓴다. 바깥 테두리 안쪽에는 위에서부터 첫째 수가 들어가는 줄, 격자, 곱의 아랫부분이 들어가는 줄이 차례로 놓인다. 격자 왼쪽에는 폭이 1인 열이 있어 곱의 윗자리가 들어갈 수 있고, 격자 오른쪽에도 폭이 1인 열이 있어 둘째 수가 들어간다. 곱이 짧아서 왼쪽 아래 모서리를 돌지 않으면 왼쪽 열은 공백으로만 남는다.

칸 안의 곱은 앞자리 0을 그대로 쓰지만, 전체 곱에는 앞자리 0을 쓰지 않는다. 곱의 첫 숫자 앞에는 슬래시를 그리지 않는다.

입력

입력은 하나 이상의 테스트로 이루어진다. 각 테스트는 두 정수 AABB가 적힌 한 줄이다. (1A99991 \le A \le 9999, 1B99991 \le B \le 9999)

마지막 테스트 다음 줄에는 0 0이 주어진다.

출력

각 테스트마다 두 수를 격자 곱셈으로 계산하는 과정을 나타내는 그림을 출력한다. 그림과 그림 사이에는 아무것도 출력하지 않는다.

공백을 포함한 모든 문자가 위 규칙과 그림 그대로여야 한다.