#include <bits/stdc++.h>
using namespace std;
bool prime(long long int);
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  long long int co = 0, i, n, y, m, d, j, k, t, x = 0, a, b, c;
  cin >> n >> m;
  long long int mi = 999999999, ma1 = 0, mi2 = 999999999;
  for (i = 0; i < n; i++) {
    cin >> x;
    mi = min(mi, x);
    ma1 = max(ma1, x);
  }
  for (i = 0; i < m; i++) {
    cin >> x;
    mi2 = min(mi2, x);
  }
  if (ma1 >= (2 * mi) && mi2 > ma1) {
    cout << ma1;
    return 0;
  }
  if (mi2 - 1 >= (2 * mi) && mi2 > ma1) {
    cout << mi * 2;
    return 0;
  }
  cout << -1;
  return 0;
}
bool prime(long long int n) {
  bool x = true;
  int i;
  for (i = 2; i <= sqrt(n); i++) {
    if (n % i == 0) {
      x = false;
    }
  }
  return x;
}
