#include <bits/stdc++.h>
using namespace std;
vector<set<long long int> > v11, v22;
vector<pair<long long int, long long int> > v1, v2;
set<long long int> st1, st2;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  long long int n, m, i, j, a, b, x, y, f = 0;
  cin >> n >> m;
  for (i = 0; i < n; i++) {
    cin >> a >> b;
    if (a > b) swap(a, b);
    v1.push_back({a, b});
    v11.push_back(st1);
  }
  for (i = 0; i < m; i++) {
    cin >> a >> b;
    if (a > b) swap(a, b);
    v2.push_back({a, b});
    v22.push_back(st2);
  }
  for (i = 0; i < n; i++) {
    a = v1[i].first;
    b = v1[i].second;
    for (j = 0; j < m; j++) {
      x = v2[j].first;
      y = v2[j].second;
      if (a == x && b != y) {
        v11[i].insert(a);
        v22[j].insert(x);
        st1.insert(a);
        st2.insert(x);
      }
      if (a == y && b != x) {
        v11[i].insert(a);
        v22[j].insert(y);
        st1.insert(a);
        st2.insert(y);
      }
      if (b == x && a != y) {
        v11[i].insert(b);
        v22[j].insert(x);
        st1.insert(b);
        st2.insert(x);
      }
      if (b == y && a != x) {
        v11[i].insert(b);
        v22[j].insert(y);
        st1.insert(b);
        st2.insert(y);
      }
    }
  }
  for (i = 0; i < n; i++) {
    if (v11[i].size() > 1) f = 1;
  }
  for (j = 0; j < m; j++) {
    if (v22[j].size() > 1) f = 1;
  }
  if (st1.size() == 1 || st2.size() == 1) {
    if (st1.size() == 1)
      cout << *st1.begin() << "\n";
    else
      cout << *st2.begin() << "\n";
    return 0;
  }
  if (f == 1)
    cout << -1 << "\n";
  else
    cout << 0 << "\n";
  return 0;
}
