요약문
시간 제한3초메모리 제한1024 MB
각 글에서 다른 글에는 나타나지 않는 가장 짧은 부분 문자열을 찾습니다. 길이가 같으면 사전순으로 앞선 것을 고르고, 없으면 ?를 출력합니다.
문제
플로렌과 친구들은 영어 수업에서 기사를 하나씩 받아 각자 요약문을 써야 합니다. 이 문제에서 기사는 영어 소문자로만 이루어진 비어 있지 않은 문자열입니다. 요약문은 해당 기사의 비어 있지 않은 부분 문자열입니다. 선생님은 각 요약문이 자기 기사 이외의 어떤 기사에서도 부분 문자열로 나타나지 않기를 요구합니다. 친구들은 각 기사에 대해 다른 기사의 부분 문자열이 아닌 가장 짧은 요약문을 원합니다. 가장 짧은 요약문이 여러 개라면 사전순으로 가장 앞선 것을 고릅니다. 조건을 만족하는 요약문이 없으면 그렇다고 알려야 합니다.
입력
첫 줄에 기사의 개수 이 주어집니다 (). 다음 개 줄에는 기사 가 한 줄에 하나씩 주어집니다. 는 영어 소문자로 이루어진 문자열이고 입니다. 라고 할 때, 모든 테스트에서 이 보장됩니다.
출력
입력 순서대로 각 기사의 요약문을 한 줄에 하나씩 줄 출력합니다. 조건을 만족하는 요약문이 없는 기사에는 ?를 출력합니다.
힌트
이는 첫 번째 예제에 대한 설명입니다. 첫 번째 기사의 모든 부분 문자열이 네 번째 기사에 포함되므로, 첫 번째 기사에는 조건을 만족하는 요약문이 없습니다. 두 번째 기사에서 가장 짧은 유효한 요약문은 de, ee, er이며, 그중 사전순으로 가장 작은 것은 de입니다. 세 번째 기사에서 가장 짧은 유효한 요약문은 re와 ad이고, 사전순으로는 ad가 앞섭니다. 네 번째 기사에서 가장 짧은 유효한 요약문은 rd 하나뿐입니다.