지오캐싱 좌표

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

지오캐싱(보물찾기) 게임에서는 보물의 좌표가 일부 숫자를 문자로 바꾼 ‘식(formula)’으로 주어지기도 한다. 예를 들어 N58 24.1ab E26 44.3c 와 같다. 여기서 소문자 알파벳은 각각 하나의 숫자를 나타내는 변수이다.

주어진 식과 각 변수가 가질 수 있는 값에 대해, 변수를 대입하여 얻을 수 있는 모든 좌표를 출력하는 프로그램을 작성하라.

입력

첫째 줄에는 식이 주어진다. 식은 위도와 경도의 표현으로 이루어지며, 각각은 방위 기호(N, S, E, W)와 도, 분, 그리고 분의 소수부 값으로 구성된다(형식은 예제와 같다). 식에 등장하는 소문자 알파벳은 변수 자리를 나타낸다. 식의 길이는 25자를 넘지 않는다.

둘째 줄에는 변수의 개수 $N$ ($1 \le N \le 3$)이 주어진다. 이어지는 $N$개의 줄에는 각각 하나의 변수 설명이 이름=목록 형태로 주어진다. 변수 이름은 항상 하나의 소문자 알파벳이다. 목록은 쉼표로 구분되며, 각 원소는 하나의 값이거나 값의 범위 시작..끝 이다. 각 값과 범위의 양 끝점은 한 자리 또는 두 자리 정수이거나, 앞서 설명된 변수의 이름이다.

어떤 원소가 변수 이름일 때에는 현재 조합에서 그 변수에 대입된 값을 의미하므로, 뒤에 나오는 변수는 앞선 변수에 의존할 수 있다. 또한 식에서 같은 문자가 여러 번 나타나면 한 조합 안에서는 항상 같은 값으로 대입된다. 어떤 변수의 설명도 중복되는 값을 만들지 않는다고 가정해도 된다.

출력

변수에 허용된 값들을 대입하여 얻을 수 있는 서로 다른 모든 좌표를 출력한다. 좌표는 사전순(오름차순)으로 정렬하여 한 줄에 하나씩 출력한다.