水
#include <iostream>
#include <cstdio>
#include <vector>
#include <cctype>
#include <algorithm>
using namespace std;
const int MAX = 100000;
struct Laptop
{
int pri, qua;
}laptop[MAX+2];
void _read(int &v)
{
int ch;
v= 0;
while (ch = getchar())
{
if (isdigit(ch)) break;
}
do
{
v = v * 10 + ch - '0';
} while ((ch=getchar()) && (isdigit(ch)));
}
bool _cmp(Laptop a, Laptop b)
{
return a.pri > b.pri;
}
bool is_ok(Laptop *begin, Laptop *end)
{
for (Laptop *it = begin+1; it != end; it++)
{
if (it->qua > (it-1)->qua) return false;
}
return true;
}
int main()
{
int n;
_read(n);
for (int i = 0; i < n; i++)
{
_read(laptop[i].pri);
_read(laptop[i].qua);
}
sort(laptop, laptop+n, _cmp);
if (is_ok(laptop, laptop+n)) printf("Poor Alex");
else printf("Happy Alex");
return 0;
}