MegaFirm Inc.는 전화 상담원이 고객에게 응대하는 것을 돕기 위해 여러 개의 패턴(pattern)을 만들었습니다. 패턴은 단어와 자리표시자로 이루어진 구(phrase)입니다. 단어는 알파벳 소문자로만 이루어진 문자열이고, 자리표시자는 단어를 꺾쇠괄호로 감싼 것(즉 < ... >)입니다.
어떤 구가 패턴과 일치한다는 것은, 패턴 안의 각 자리표시자를 하나의 단어로 일관되게 치환하여 패턴과 구를 똑같이 만들 수 있다는 뜻입니다. 여기서 "일관되게"란, 같은 이름을 가진 자리표시자는 모두 같은 단어로 치환해야 한다는 의미입니다. (이름이 서로 다른 자리표시자가 같은 단어로 치환되는 것은 허용됩니다.)
예를 들어, 구
to be or not to be
는 패턴
<foo> be <bar> not <foo> <baf>
과 일치합니다. <foo>를 to로, <bar>를 or로, <baf>를 be로 치환하면 두 문장이 같아지기 때문입니다.
두 개의 패턴이 주어질 때, 두 패턴 모두와 일치하는 구를 하나 찾으세요.
입력의 첫 줄에는 테스트 케이스의 수 n이 주어집니다. 각 테스트 케이스는 두 줄로 이루어지며, 각 줄이 하나의 패턴입니다. 패턴은 소문자 단어와, 소문자 단어를 담은 자리표시자로 구성됩니다. 어떤 패턴도 100자를 넘지 않습니다. 단어의 길이는 최대 16자입니다. 인접한 단어와 자리표시자는 하나의 공백으로 구분됩니다.
각 테스트 케이스마다, 두 패턴 모두와 일치하는 구를 한 줄에 출력합니다. 일치하는 구가 여러 개일 수 있으므로 사전순으로 가장 작은 구를 출력하세요. 이는 어떤 리터럴 단어로도 값이 강제되지 않는(자유로운) 자리표시자를 모두 한 글자 a로 치환한 구와 같습니다. 두 패턴을 모두 만족하는 구가 존재하지 않으면, 빼기 기호 하나(-)만 있는 줄을 출력합니다.