#include <bits/stdc++.h>
using namespace std;
long long M;
long long mul(long long a, long long b) { return ((a % M) * (b % M)) % M; };
long long sub(long long a, long long b) { return ((a % M) - (b % M) + M) % M; };
long long pwr(long long a, long long b) {
  if (b == 0) return 1;
  if (b == 1) return a;
  if (a == 1) return 1;
  long long p1 = pwr(a, b / 2), p2 = mul(p1, p1);
  if (b % 2) return mul(p2, a);
  return p2;
};
long long add(long long a, long long b) { return (a % M + b % M) % M; };
long long divi(long long a, long long b) {
  if (a < b) return 0LL;
  return mul(a, pwr(b, M - 2));
};
int main() {
  int n, a[100005], b[100005];
  cin >> n;
  vector<pair<int, int> > my;
  for (int i = 0; i < n; i++)
    cin >> a[i] >> b[i], my.push_back(make_pair(a[i], b[i]));
  sort(my.begin(), my.end());
  int ct = my[0].second;
  for (int i = 1; i < n; i++) {
    if (my[i - 1].second > my[i].second) {
      cout << "Happy Alex";
      return 0;
    }
  }
  cout << "Poor Alex";
  return 0;
}
