import java.io.*; import java.util.HashSet; import java.util.Set; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { int n = sc.nextInt(); String[][] s = new String[n][2]; for (int i = 0; i < n; i++) { for (int j = 0; j < 2; j++) { s[i][j] = sc.next(); } } boolean ok = true; o: for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { if ((s[i][0].equals(s[j][0]) && s[i][1].equals(s[j][1])) || (s[i][0].equals(s[j][1]) && s[i][1].equals(s[j][0]))) { ok = false; break o; } } } out.println(ok ? "Yes" : "No"); out.close(); } static Kattio sc = new Kattio(); static PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); static class Kattio { static BufferedReader r; static StringTokenizer st; public Kattio() { r = new BufferedReader(new InputStreamReader(System.in)); } public String next() { try { while (st == null || !st.hasMoreTokens()) { st = new StringTokenizer(r.readLine()); } return st.nextToken(); } catch (Exception e) { return null; } } public int nextInt() { return Integer.parseInt(next()); } public long nextLong() { return Long.parseLong(next()); } public double nextDouble() { return Double.parseDouble(next()); } } }