만드는 중입니다

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

이상한 숫자

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

요약
밑 b, 사용할 수 있는 숫자 집합, 10진수 n(10^100 이하)이 주어질 때 n을 표현하는 방법이 없는지, 하나뿐인지, 여러 개인지 판별합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 수학, 문자열
정답자
아직 제출이 없습니다

문제

십진법에서는 0부터 9까지의 숫자를 사용한다. 어떤 숫자를 쓰지 않으면 일부 수를 적을 수 없다. 예를 들어 숫자 1을 쓰지 않으면 10을 적을 수 없다. 반대로 숫자가 10개보다 많으면 일부 수를 여러 방법으로 적을 수 있다. 예를 들어 값이 10인 숫자 A를 쓴다면 110은 AA로도 적을 수 있다. 같은 논리는 임의의 밑 bb를 가진 진법에서도 성립한다.

밑이 bb이고 숫자가 c1,c2,…,ckc_1, c_2, \ldots, c_k인 진법을 생각하자. 이 숫자들은 {0,1,…,9,A,B,…,Z}\{0, 1, \ldots, 9, A, B, \ldots, Z\}에서 고른 것이다. 숫자 0부터 9까지의 가중치는 그 값과 같다. 숫자 A의 가중치는 10, B는 11이며, Z의 가중치 35까지 이어진다. 수 nn이 주어진다. 주어진 숫자만으로 nn을 밑 bb의 수로 적을 수 있는지 판단하라. 적을 수 있다면 그 방법이 단 하나뿐인지도 판단하라.

입력

첫째 줄에 bb (2≤b≤362 \le b \le 36)가 주어진다. 둘째 줄에는 숫자 c1,c2,…,ckc_1, c_2, \ldots, c_k가 공백 없이 오름차순으로 주어진다 (1≤k≤361 \le k \le 36, c1=0c_1=0). 셋째 줄에는 십진법으로 표기된 nn (1≤n≤101001 \le n \le 10^{100})이 주어진다.

출력

nn을 적을 수 없으면 Impossible을 출력한다.

단 하나의 방법으로 적을 수 있으면 첫째 줄에 Unique를 출력하고, 둘째 줄에 nn의 표기를 출력한다.

여러 방법으로 적을 수 있으면 첫째 줄에 Ambiguous를 출력하고, 둘째 줄에 가능한 표기 중 아무거나 하나를 출력한다.

예제3

  1. 예제 1

    입력
    10
    0123456789A
    110
    
    예상 출력
    Ambiguous
    AA
    
  2. 예제 2

    입력
    10
    023456789
    10
    
    예상 출력
    Impossible
    
  3. 예제 3

    입력
    10
    023456789A
    10
    
    예상 출력
    Unique
    A