Problem A

MegaFirm Inc. has created a set of patterns to aid its telephone help-desk operators in responding to customers. A pattern is a phrase consisting of words and placeholders. A word is simply a string of letters. A placeholder is a word enclosed in angle brackets (that is <...>). A phrase matches a pattern if each placeholder in the pattern can be systematically replaced by a word so as to make the pattern and phrase equal. By “systematically replaced” we mean that all placeholders enclosing the same word are replaced by the same word.

For example, the phrase

to be or not to be

matches the pattern

<foo> be <bar> not <foo> <baf>

because we can replace <foo> by “to”, <bar> by “or”, and <baf> by “be”.

Given two patterns, you are to find a phrase that matches both.


The first line of input contains an integer $1 \le n \le 100$, the number of test cases. Each test case consists of two lines of input; each a pattern. Patterns consist of lowercase words, and placeholders containing lowercase words. No pattern exceeds $100$ characters. Words contain at most $16$ characters. A single space separates adjacent words and placeholders.


For each test case, output a phrase that matches both patterns. If several phrases match, any will do, but all words used in the phrase must obey the same constraints as the words in the input (i.e., they must be lowercase and of length at most $16$). If no phrase matches, output a line containing “-” (a single minus sign).

Sample Input 1 Sample Output 1
how now brown <animal>
<foo> now <color> cow
who are you
<a> <b> <a>
<a> b
c <a>
how now brown cow
c b

Please log in to submit a solution to this problem

Log in