#include <bits/stdc++.h>
using namespace std;
int n, m;
int a[101], b[101];
int main() {
  scanf("%d %d", &n, &m);
  int m1, m2, m3;
  m1 = m3 = 101;
  m2 = 0;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    m1 = min(m1, a[i]);
    m2 = max(m2, a[i]);
  }
  for (int i = 1; i <= m; i++) {
    scanf("%d", &b[i]);
    m3 = min(m3, b[i]);
  }
  if (m2 >= m3) {
    cout << -1;
    return 0;
  }
  int v = max(m1 * 2, m2);
  if (v >= m3) {
    cout << -1;
    return 0;
  }
  cout << v;
  return 0;
}
