import sys

def solve():
    try:
        line = sys.stdin.readline()
        if not line:
            return
        n = int(line.strip())
    except ValueError:
        return

    men_prefs = {}
    women_prefs = {}
    men_names = []
    
    for _ in range(n):
        row = sys.stdin.readline().split()
        if not row: break
        name = row[0]
        prefs = row[1:]
        men_names.append(name)
        men_prefs[name] = prefs
        
    for _ in range(n):
        row = sys.stdin.readline().split()
        if not row: break
        name = row[0]
        prefs = row[1:]
        women_prefs[name] = prefs

    free_men = list(men_names)
    matches = {} # woman -> current man
    proposal_idx = {m: 0 for m in men_names}
    
    women_ranks = {w: {m: rank for rank, m in enumerate(prefs)} 
                   for w, prefs in women_prefs.items()}

    while free_men:
        m = free_men.pop(0)
        
        w = men_prefs[m][proposal_idx[m]]
        proposal_idx[m] += 1
        
        if w not in matches:
            matches[w] = m
        else:
            m_prime = matches[w]
            if women_ranks[w][m] < women_ranks[w][m_prime]:
                matches[w] = m
                free_men.append(m_prime)
            else:
                free_men.append(m)

    for m in sorted(men_names):
        for w, matched_m in matches.items():
            if matched_m == m:
                print(f"{m} {w}")

if __name__ == "__main__":
    solve()


"""
3
M1 W1 W2 W3
M2 W2 W1 W3
M3 W1 W2 W3
W1 M2 M1 M3
W2 M1 M2 M3
W3 M1 M2 M3
"""