시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
어떤 계산기는 매우 큰 수로 이루어진 식을 계산한다. 결과를 보기 좋게 만들기 위해, 손으로 직접 필산할 때 쓰는 방식과 똑같이 결과를 배치한다.
이 계산기의 핵심 부분을 작성하라. 두 수와 연산이 주어지면 결과를 계산하고 아래에서 설명하는 형식으로 출력한다.
첫째 줄에 식의 개수를 나타내는 양의 정수 T가 주어진다.
이어지는 T개의 줄에는 각각 하나의 식이 주어진다. 각 식은 양의 정수, 연산자(+, -, * 중 하나), 그리고 두 번째 양의 정수로 이루어지며, 줄 안에 공백은 전혀 없다.
모든 수는 최대 500자리이고, 0으로 시작하는 수는 없다. 연산자가 -인 경우 두 번째 수는 항상 첫 번째 수보다 작다.
각 식마다 아래 형식으로 출력하고, 서로 다른 식의 출력 사이에는 빈 줄을 하나씩 넣어 구분한다.
두 피연산자를 두 줄에 걸쳐 적되, 두 번째 수를 첫 번째 수 바로 아래에 두고 두 수의 마지막 자리(1의 자리)를 같은 열에 맞춘다. 연산자는 두 번째 수의 첫 자리 숫자 바로 앞에 붙여 쓴다. 두 번째 수 아래에는 붙임표(-)로 이루어진 가로줄을 긋는다.
덧셈과 뺄셈. 가로줄 바로 아래에 결과를 적되, 결과의 마지막 자리를 두 피연산자의 마지막 자리와 같은 열에 맞춘다.
곱셈. 첫 번째 수에 두 번째 수의 각 자리 숫자를 곱한다. 두 번째 수의 1의 자리 숫자를 곱한 것부터 시작하여, 부분 곱들을 위에서 아래로 차례대로 적는다. 각 부분 곱은 그 마지막 자리가 대응하는 두 번째 수 자리 숫자와 같은 열에 오도록 맞춘다. 부분 곱에는 앞자리 0이 붙지 않으며, 그 자리 숫자가 0이면 부분 곱은 0 한 글자뿐이다. 두 번째 수가 두 자리 이상이면, 부분 곱들 아래에 가로줄을 하나 더 긋고 그 아래에 부분 곱들의 합을 적는다.
모든 줄은 배치가 허용하는 한 앞쪽 공백을 최소로 두고 시작한다. 각 가로줄은 바로 위 줄과 바로 아래 줄이 차지하는 가장 왼쪽 열부터 가장 오른쪽 열까지 정확히 걸치며, 그보다 길거나 짧아서는 안 된다.