#include <bits/stdc++.h>
using namespace std;
int zgodnosc(pair<int, int> a, pair<int, int> b) {
  if (a.first > a.second) swap(a.first, a.second);
  if (b.first > b.second) swap(b.first, b.second);
  if (a.first == b.first && a.second == b.second) return -1;
  if (a.first == b.first) return a.first;
  if (a.first == b.second) return a.first;
  if (a.second == b.first) return a.second;
  if (a.second == b.second) return a.second;
  return -1;
}
set<int> s[2137], czeker;
int n, m;
pair<int, int> a[15], b[15];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    cin >> a[i].first >> a[i].second;
  }
  for (int i = 1; i <= m; i++) {
    cin >> b[i].first >> b[i].second;
  }
  for (int rep = 0; rep <= 0; rep++) {
    for (int i = 1; i <= n; i++) {
      if (i != rep)
        for (int j = 1; j <= m; j++) {
          if (j == rep - n) continue;
          int xd = zgodnosc(a[i], b[j]);
          if (xd > 0) s[rep].insert(xd);
        }
    }
  }
  set<int> sprawajest;
  for (int repa = 0; repa <= n; repa++) {
    sprawajest.clear();
    for (int i = 1; i <= n; i++) {
      if (i == repa)
        for (int j = 1; j <= m; j++) {
          int xd = zgodnosc(a[i], b[j]);
          if (xd > 0) s[repa].insert(xd), sprawajest.insert(j);
        }
    }
    for (auto i : sprawajest)
      for (int j = 1; j <= n; j++) {
        int xd = zgodnosc(a[j], b[i]);
        if (xd > 0) s[repa].insert(xd);
      }
  }
  for (int repa = n + 1; repa <= n + m; repa++) {
    sprawajest.clear();
    for (int i = 1; i <= m; i++) {
      if (i == repa)
        for (int j = 1; j <= n; j++) {
          int xd = zgodnosc(a[j], b[i]);
          if (xd > 0) s[repa].insert(xd), sprawajest.insert(j);
        }
    }
    for (auto i : sprawajest)
      for (int j = 1; j <= m; j++) {
        int xd = zgodnosc(a[i], b[j]);
        if (xd > 0) s[repa].insert(xd);
      }
  }
  int obaj = 0;
  for (int repa = 1; repa <= n + m; repa++) {
    if (s[repa].size() <= 1) obaj++;
    if (s[repa].size() == 1) czeker.insert((*(s[repa].begin())));
  }
  if (obaj == n + m) {
    if (czeker.size() == 1)
      cout << (*(czeker.begin()));
    else
      cout << 0;
  } else
    cout << -1;
}
