N진수 곱셈 (HUGE)
시간 제한10초메모리 제한1024 MB
밑 N으로 적힌 두 정수 A와 B를 곱하고, 결과를 밑 N으로 출력합니다. N은 음수일 수 있고, 각 수는 최대 3,000,000자리입니다.
문제
이 문제는 N진수 곱셈 (tiny)과 비교해 와 의 길이 제한만 다르다.
진법으로 표현된 두 정수 , 를 곱하는 프로그램을 작성하자.
와 를 표현할 때 각 자리의 수는 ASCII 순서대로 문자에 대응시킨다. 은 33번 문자인 !로, 은 34번 문자인 "로, 이런 식으로 는 번 문자로 표현한다. 음수는 ~(ASCII 코드 번)로 표시하며, 이 양수일 때만 맨 앞 글자에 최대 한 번 나타난다.

각 자리를 표기하기 위한 ASCII 문자 대응표
아래는 앞에서 설명한 방식으로 수를 표현한 예이다. 이해를 돕기 위해 각 자리의 숫자를 대괄호로 감쌌다.
"#&
~"#1
*!-
LUMI
은 음의 정수일 수 있다. 음의 정수 진법은 힌트에서 설명한다.
입력
첫 번째 줄에 진법의 밑 이 주어진다.
두 번째 줄과 세 번째 줄에는 진법으로 표현된 , 가 각각 주어진다. 와 는 진법으로 표현했을 때 자를 넘지 않는다.
나 의 앞에 불필요한 !는 붙어 있지 않다. ~는 이 양의 정수일 때만 나오며, 맨 앞에 최대 한 번 나온다. 은 음의 정수일 수 있으니 유의한다.
출력
와 를 곱한 값을 진법으로 출력한다.
힌트
음의 정수 인 경우에도 진법은 양의 정수 진법과 마찬가지로, 왼쪽으로 한 자리 넘어갈 때마다 값이 배가 된다. 다만 각 자리에 들어가는 숫자의 범위는 으로 한정한다.
예를 들어 진법의 은 진법으로 이 된다.
.