import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;

public class PickyParticles {
    private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    public static String readLine() {
        try {
            return reader.readLine();
        } catch (IOException e) {
            return null;
        }
    }

    public static void main(String[] args) {
        int n = Integer.parseInt(readLine());

        Map<Integer, LinkedList<Integer>> pGraph = new LinkedHashMap<>();
        Map<Integer, LinkedList<Integer>> eGraph = new LinkedHashMap<>();
        Map<Integer, Integer> pPairs = new LinkedHashMap<>();
        Map<Integer, Integer> ePairs = new LinkedHashMap<>();
        boolean[] merged = new boolean[n];

        for (int i = 0; i < n; i++) {
            String[] pref = readLine().split("\\s");

            pGraph.put(i, new LinkedList<>());

            for (String s : pref) {
                pGraph.get(i).add(Integer.parseInt(s));
            }
        }

        for (int i = 0; i < n; i++) {
            String[] pref = readLine().split("\\s");

            eGraph.put(i, new LinkedList<>());

            for (String s : pref) {
                eGraph.get(i).add(Integer.parseInt(s));
            }
        }

        while(pPairs.size() < n) {
            int p = -1;

            for (p = 0; p < merged.length; p++) {
                if(!merged[p]) break;
            }

            if(p < 0 || p >= n) break;

            int e = pGraph.get(p).removeFirst();

            if(!ePairs.containsKey(e)) {
                pPairs.put(p, e);
                ePairs.put(e, p);
                merged[p] = true;
            } else {
                int pOld = ePairs.get(e);
                int pNew = p;
                int pref = findPref(eGraph.get(e), pOld, pNew);

                if(pref == pNew) {
                    pPairs.remove(ePairs.get(e));
                    merged[ePairs.get(e)] = false;
                    ePairs.put(e, p);
                    pPairs.put(p, e);
                    merged[p] = true;
                }
            }
        }

        for (int i = 0; i < n; i++) {
            System.out.println(i + " <-> " + pPairs.get(i));
        }
    }

    private static int findPref(LinkedList<Integer> integers, int pOld, int pNew) {
        for (Integer integer : integers) {
            if(integer == pOld) {
                return pOld;
            } else if(integer == pNew) {
                return pNew;
            }
        }

        return -1;
    }
}
