숫자는 그냥 문자가 아니다
면접 대비시간 제한2초메모리 제한512 MB
각 파일 이름을 문자와 숫자 항목으로 나누어 s0과 비교하고 s0보다 앞에 오면 "-", 아니면 "+"를 출력합니다.
문제
Manuel Majorana Minore 씨는 이름에 숫자가 들어간 파일을 여러 개 만들었다. 그는 이 파일들의 목록을 정리하려고 하지만, 흔히 쓰는 파일 목록 명령은 그가 원하는 순서와 다른 순서로 파일을 나열한다. 그 명령은 파일 이름 속 숫자열을 수가 아니라 ASCII 코드열로 해석한다. 예를 들어 file10, file20, file3은 이런 순서로 나열된다.
숫자열을 수로 해석해 파일 이름의 순서를 정하는 프로그램을 작성하라.
각 파일 이름은 대문자(‘A’부터 ‘Z’), 소문자(‘a’부터 ‘z’), 숫자(‘0’부터 ‘9’)로 이루어진다.
파일 이름은 항목의 나열로 본다. 각 항목은 문자이거나 수이다. 대문자나 소문자 한 글자는 각각 문자 항목이 된다. 숫자가 연속된 구간은 각각 수 항목이 된다.
두 항목의 순서는 다음과 같다.
- 수 항목은 문자 항목보다 앞선다.
- 두 문자 항목은 ASCII 코드로 순서를 정한다.
- 두 수 항목은 십진수로 해석한 값으로 순서를 정한다.
두 파일 이름은 처음부터 항목을 하나씩 비교하며, 처음으로 다른 항목의 순서가 두 파일 이름의 순서를 정한다. 한쪽 A의 항목이 다른 쪽 B보다 많고 B의 항목이 모두 A의 대응하는 항목과 같다면, B가 앞선다.
예를 들어 Sample Input 1의 세 파일 이름 file10, file20, file3은 모두 문자 항목 f, i, l, e 네 개가 같은 순서로 나온 뒤 각각 수 항목 10, 20, 3이 온다. 이 수 항목의 값을 비교하면 file3 < file10 < file20 순서가 된다.
입력
입력은 다음과 같은 형식의 테스트 케이스 하나로 이루어진다.
n
s0
s1
.
.
.
sn
첫 줄의 정수 n은 다음 줄에 주어지는 파일 이름(s0)과 비교할 파일 이름(s1부터 sn)의 개수이다. 여기서 n은 1 ≤ n ≤ 1000을 만족한다.
이어지는 n + 1개 줄에는 파일 이름 s0부터 sn이 한 줄에 하나씩 주어진다. 파일 이름은 길이가 1 이상 9 이하이다. 각 문자는 대문자, 소문자, 숫자 중 하나이다.
파일 이름 속 숫자열은 0으로 시작하지 않는다.
출력
파일 이름 s1부터 sn 각각에 대해, s0보다 앞에 와야 하는지 나타내는 문자를 한 줄에 하나씩 출력한다. s0보다 앞에 나열되어야 하면 “-”를, 그렇지 않으면 두 이름이 같은 경우를 포함해 “+”를 출력한다.