#include <bits/stdc++.h>
const int TIMEMAX = 10000000;
int n, m, cnt[2010][2010];
std::pair<int, int> poi[4010];
std::vector<std::pair<int, std::pair<int, int> > > blue, red;
void fix(std::vector<std::pair<int, std::pair<int, int> > > &v) {
  static int i, ind;
  sort(v.begin(), v.end());
  ind = 0;
  for (i = 0; i < static_cast<int>(v.size()); ++i)
    if (ind > 0 && v[i].first == v[ind - 1].first &&
        v[ind - 1].second.second >= v[i].second.first)
      v[ind - 1].second.second = v[i].second.second;
    else
      v[ind++] = v[i];
  v.resize(ind);
}
bool intersect(std::pair<int, std::pair<int, int> > b,
               std::pair<int, std::pair<int, int> > r) {
  return b.first >= r.second.first && b.first <= r.second.second &&
         r.first >= b.second.first && r.first <= b.second.second;
}
bool check(int t) {
  static int i, j, k;
  static std::vector<int> tmp;
  std::vector<std::pair<int, std::pair<int, int> > >().swap(blue);
  std::vector<std::pair<int, std::pair<int, int> > >().swap(red);
  for (i = 1; i <= n; ++i)
    blue.push_back(std::make_pair(
        poi[i].second,
        std::make_pair(poi[i].first - 2 * t, poi[i].first + 2 * t)));
  for (i = n + 1; i <= n + m; ++i)
    red.push_back(std::make_pair(
        poi[i].first,
        std::make_pair(poi[i].second - 2 * t, poi[i].second + 2 * t)));
  fix(blue);
  fix(red);
  memset(cnt, 0, sizeof cnt);
  for (i = 0; i < static_cast<int>(blue.size()); ++i) {
    std::vector<int>().swap(tmp);
    for (j = 0; j < static_cast<int>(red.size()); ++j)
      if (intersect(blue[i], red[j])) {
        for (k = 0; k < static_cast<int>(tmp.size()); ++k)
          if (++cnt[tmp[k]][j] >= 2) return true;
        tmp.push_back(j);
      }
  }
  return false;
}
int main() {
  int i, l, r, mid;
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n + m; ++i) {
    scanf("%d%d", &l, &r);
    poi[i] = std::make_pair(l - r, l + r);
  }
  if (!check(TIMEMAX)) {
    printf("Poor Sereja!");
    fclose(stdin);
    fclose(stdout);
    return 0;
  }
  l = 0;
  r = TIMEMAX;
  while (l < r) {
    mid = (l + r) >> 1;
    if (check(mid))
      r = mid;
    else
      l = mid + 1;
  }
  printf("%d", r);
  fclose(stdin);
  fclose(stdout);
  return 0;
}
