#include <bits/stdc++.h>
int ax[2000], ay[2000], bx[2000], by[2000], n, m, i,
    min = 1000000000, t1, t2, p1, p2, t, i1, i2, tm, st, ll, rr;
std::map<int, std::vector<int> > wa, wb;
std::map<int, std::vector<int> >::iterator it, jt, it1, jt1;
int abs(int a) { return a >= 0 ? a : -a; }
int main() {
  scanf("%d%d", &n, &m);
  for (i = 0; i < n; i++) {
    scanf("%d%d", &ax[i], &ay[i]);
    ax[i] <<= 1;
    ay[i] <<= 1;
    wa[ax[i] + ay[i]].push_back(ax[i]);
  }
  for (i = 0; i < m; i++) {
    scanf("%d%d", &bx[i], &by[i]);
    bx[i] <<= 1;
    by[i] <<= 1;
    wb[by[i] - bx[i]].push_back(bx[i]);
  }
  if (wa.size() == 1 || wb.size() == 1) {
    printf("Poor Sereja!\n");
    return 0;
  }
  for (it = wa.begin(); it != wa.end(); ++it)
    sort(wa[it->first].begin(), wa[it->first].end());
  for (it = wb.begin(); it != wb.end(); ++it)
    sort(wb[it->first].begin(), wb[it->first].end());
  for (it = wa.begin(); it != wa.end(); ++it)
    for (jt = wb.begin(); jt != wb.end(); ++jt) {
      for (it1 = it, ++it1; it1 != wa.end(); ++it1) {
        if (st == 1) {
          st = 0;
          break;
        }
        for (jt1 = jt, ++jt1; jt1 != wb.end(); ++jt1) {
          t1 = (it->first - jt->first) / 2, t2 = (it->first - jt1->first) / 2,
          i1 = i2 = 0;
          p1 = abs(it->second[0] - t1);
          p2 = abs(it->second[0] - t2);
          if (it->second.size()) {
            rr = it->second.size();
            ll = 0;
            while (ll + 1 < rr) {
              i = (ll + rr) >> 1;
              if ((t = abs(it->second[i] - t1)) < p1)
                p1 = t, i1 = i, ll = i;
              else
                rr = i;
            }
            rr = it->second.size();
            ll = 0;
            while (ll + 1 < rr) {
              i = (ll + rr) >> 1;
              if ((t = abs(it->second[i] - t2)) < p2)
                p2 = t, i2 = i, ll = i;
              else
                rr = i;
            }
          }
          t = 0;
          for (i = i1 + 1; i <= i2; i++)
            if (it->second[i] - it->second[i - 1] > t)
              t = it->second[i] - it->second[i - 1];
          t = p1 > t ? p1 : t;
          if (t > min) {
            st = 1;
            break;
          }
          t = p2 > t ? p2 : t;
          tm = t;
          t1 = (it1->first - jt->first) / 2, t2 = (it1->first - jt1->first) / 2,
          p1 = p2 = 1000000000, i1 = i2 = 0;
          for (i = 0; i < it1->second.size(); i++) {
            if ((t = abs(it1->second[i] - t1)) < p1) p1 = t, i1 = i;
            if ((t = abs(it1->second[i] - t2)) < p2) p2 = t, i2 = i;
          }
          t = 0;
          for (i = i1 + 1; i <= i2; i++)
            if (it1->second[i] - it1->second[i - 1] > t)
              t = it1->second[i] - it1->second[i - 1];
          t = p1 > t ? p1 : t;
          if (t > min) break;
          t = p2 > t ? p2 : t;
          if (t > min) continue;
          tm = t > tm ? t : tm;
          t1 = (it->first - jt->first) / 2, t2 = (it1->first - jt->first) / 2,
          p1 = p2 = 1000000000, i1 = i2 = 0;
          for (i = 0; i < jt->second.size(); i++) {
            if ((t = abs(jt->second[i] - t1)) < p1) p1 = t, i1 = i;
            if ((t = abs(jt->second[i] - t2)) < p2) p2 = t, i2 = i;
          }
          t = 0;
          for (i = i1 + 1; i <= i2; i++)
            if (jt->second[i] - jt->second[i - 1] > t)
              t = jt->second[i] - jt->second[i - 1];
          t = p1 > t ? p1 : t;
          t = p2 > t ? p2 : t;
          if (t > min) break;
          tm = t > tm ? t : tm;
          t1 = (it->first - jt1->first) / 2, t2 = (it1->first - jt1->first) / 2,
          p1 = p2 = 1000000000, i1 = i2 = 0;
          for (i = 0; i < jt1->second.size(); i++) {
            if ((t = abs(jt1->second[i] - t1)) < p1) p1 = t, i1 = i;
            if ((t = abs(jt1->second[i] - t2)) < p2) p2 = t, i2 = i;
          }
          t = 0;
          for (i = i1 + 1; i <= i2; i++)
            if (jt1->second[i] - jt1->second[i - 1] > t)
              t = jt1->second[i] - jt1->second[i - 1];
          t = p1 > t ? p1 : t;
          t = p2 > t ? p2 : t;
          tm = t > tm ? t : tm;
          min = tm < min ? tm : min;
        }
      }
    }
  printf("%d\n", min / 2 + min % 2);
  return 0;
}
