만드는 중입니다

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

외계인 수학

면접 대비

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

요약
B개의 외계 숫자 문자열과 외계 수 X가 주어질 때, X의 10진수 값을 출력합니다. 숫자 문자열은 서로 접두사가 되지 않아 X를 나누는 방법이 하나뿐입니다.
난이도

쉬움10점 중 3점

유형
문자열, 해시맵, 수학
정답자
아직 제출이 없습니다

문제

인류가 우주를 탐사하던 중 외계인을 만났다. 과학 지식을 교환해 보니 외계인은 수학에 완전히 다른 기호를 쓰고, 10진법도 쓰지 않는다는 사실을 알게 되었다. 외계인의 숫자를 10진수로 바꾸는 프로그램이 필요하다.

외계인은 각 자릿수를 하나 이상의 ASCII 문자로 나타낸다. 예를 들어 aba가 그들 체계의 한 자릿수일 수 있다. 진법, 모든 자릿수의 순서 있는 목록, 그리고 수 XX가 주어지면, XX를 10진수로 바꾸어 앞에 0을 붙이지 않고 출력한다.

밑이 BB인 수 체계에는 값 00부터 B−1B-1까지를 나타내는 BB개의 자릿수가 있다. 예를 들어 밑이 3인 외계인 체계에서는 zork, ooble, trzap이 각각 값 00, 11, 22를 나타낼 수 있다. 외계인의 수 trzapzorkooble은 10진수로 2⋅32+0⋅31+1⋅30=192 \cdot 3^2 + 0 \cdot 3^1 + 1 \cdot 3^0 = 19이다.

입력

첫 줄에 외계인 수 체계의 자릿수 개수를 나타내는 정수 BB (2≤B≤1032 \leq B \leq 10^3)가 주어진다.

둘째 줄에는 공백 하나로 구분된 BB개의 문자열 D0,D1,…,DB−1D_0, D_1, \ldots, D_{B-1}이 주어진다. 문자열 DiD_i는 값 ii를 나타내는 자릿수이다. 각 자릿수 문자열은 1자 이상 10자 이하이며, 소문자 a부터 z까지로만 이루어진다.

셋째 줄에는 변환할 외계인 수를 나타내는 1자 이상 300자 이하의 문자열 XX가 주어진다. XX의 10진수 값은 10910^9 이하이다. XX는 앞에 0이 붙어 있을 수 있다. XX는 외계인 자릿수를 이어 붙인 올바른 수임이 보장된다.

i≠ji \neq j인 경우 어떤 자릿수 문자열 DiD_i도 다른 자릿수 문자열 DjD_j의 접두사가 아니다.

출력

XX의 값을 10진수로 출력한다. 앞에 0은 붙이지 않는다.

예제5

  1. 예제 1

    입력
    2
    ab aab
    aababaab
    
    예상 출력
    5
    
  2. 예제 2

    입력
    10
    a b c d e f g h i j
    ighfdaj
    
    예상 출력
    8675309
    
  3. 예제 3

    입력
    2
    zero one
    zerozerozero
    
    예상 출력
    0
    
  4. 예제 4

    입력
    2
    zero one
    zeroonezero
    
    예상 출력
    2
    
  5. 예제 5

    입력
    3
    zork ooble trzap
    trzapzorkooble
    
    예상 출력
    19