만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

N진수 곱셈 (tiny)

시간 제한1초메모리 제한1024 MB

요약
음수일 수도 있는 밑 N으로 쓰인 정수 A와 B를 곱하고, 그 결과를 밑 N으로 출력합니다.
난이도

보통10점 중 5점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

이 문제는 N진수 곱셈 (HUGE)와 비교해 AA와 BB의 길이 제한만 다르다.

NN진법으로 표현된 두 정수 AA, BB를 곱하는 프로그램을 작성하자.

AA와 BB의 각 자리는 ASCII 순서대로 문자에 대응한다. 00은 3333번 문자인 !, 11은 3434번 문자인 ", ..., ii는 33+i33+i번 문자로 표현한다. 음수는 ~(ASCII 코드 126126번)로 나타내며, 이 문자는 NN이 양수일 때만 맨 앞 글자에 최대 한 번 나타난다.

각 자리를 표기하기 위한 ASCII 문자 대응표

아래는 앞에서 서술한 대로 수를 표현한 예시이다. 이해를 돕기 위해 각 자리의 숫자를 대괄호로 감싸 표기하였다.

\[1]\[2]\[5]_(10)=\[1]\[2]\[5]\_{(10)}="#&

−\[1]\[2]\[16]_(27)=-\[1]\[2]\[16]\_{(27)}=~"#1

\[9]\[0]\[12]_(−15)=\[9]\[0]\[12]\_{(-15)}=*!-

\[43]\[52]\[44]\[40]_(69)=\[43]\[52]\[44]\[40]\_{(69)}=LUMI

NN은 음의 정수일 수 있으며, 음의 정수 진법에 대한 설명은 힌트를 참조한다.

입력

첫 번째 줄에는 진법의 밑 N(2≤∣N∣≤93)N(2 \le |N| \le 93)이 주어진다.

두 번째 줄과 세 번째 줄에는 NN진법으로 표현된 AA, BB가 각각 주어진다. AA, BB는 NN진법으로 표현했을 때 3 0003\,000자를 넘지 않는다.

AA 또는 BB의 앞에 불필요한 !가 오지 않는다. 또한, ~는 NN이 양의 정수일 때만 맨 앞에 최대 한 번 나올 수 있다. NN이 음의 정수가 될 수 있음에 유의한다.

출력

AA와 BB를 곱한 값을 NN진법으로 출력한다.

힌트

음의 정수 NN에 대한 NN진법은 양의 정수 진법과 같이 왼쪽으로 한 자리 넘어갈 때마다 값이 NN배가 된다. 다만 각 자리에 들어가는 숫자의 범위는 0≤x<−N0 \le x \lt -N으로 한정한다.

예를 들어 1010진법의 9 9039\,903은 −10-10진법으로 11 90311\,903이 된다.

11 903_(−10)=1×(−10)4+1×(−10)3+9×(−10)2+0×(−10)1+3×(−10)0=9 903_(10)11\,903\_{(-10)} = 1 \times (-10) ^ 4 + 1 \times (-10) ^ 3 + 9 \times (-10) ^ 2 + 0 \times (-10) ^ 1 + 3 \times (-10) ^ 0 = 9\,903 \_{(10)}.

예제3

  1. 예제 1

    입력
    69
    TOCA
    LUMI
    
    예상 출력
    AV<_E$;G
    
  2. 예제 2

    입력
    -90
    Pl3453_5h4k3-C4rr075
    1f-Y0u-F33l-7hr3473n3d
    
    예상 출력
    "tkZAW&?="GL37Gz&W4*F[OkOr17Usc`E(.0_0^fJ5q
    
  3. 예제 3

    입력
    87
    ~Diving_Into_Firewall_and_Find_Your_Code
    Waiting_For_Your_Code-Accessing_"THE_VIOLET"!
    
    예상 출력
    ~7Q"#=VgLj6YR\g,WRrPg+;n3UauemVK[aDYAGlkGII#0jNs5XMhS@cY)r4Jv`$2\_UJs\q\v;Rte2!55dXe!