#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <cmath>
#include <cstring>
#include <set>
#include <map>
#include <deque>
#include <queue>
#include <stack>
#define FOR(i,a,b) for (typeof(b) i=a; i <=b ; i++)
#define FO(i,a,b) for (typeof(b) i=a; i < b ; i++)
#define FORD(i,a,b) for (typeof(a) i=a; i >=b ; i--)
#define SET(arr,c) memset(arr,c,sizeof(arr))
#define LL long long
#define ULL unsigned long long
#define mp make_pair
#define pb push_back
#define pf push_front
#define fi first
#define se second
#define PI 2*acos(0,0)
#define infi 1e18
#define oo 1e18
using namespace std;
template <class T> int getbit(int i, T X) { return (X & (1<<(i-1))); }
template <class T> T onbit(int i, T X) { return (X | (1<<(i-1))); }
template <class T> T offbit(int i, T X) { return (X | (1<<(i-1)) - (1<<(i-1))); }
template <class T> T sqr(T x) { return (x*x); }
template <class T> T cube (T x) { return (x*x*x); }
template <class T> T gcd(T a, T b) {T r; while(b!=0) {r=a%b;a=b;b=r;} return a;}
template <class T> T lcm(T a, T b) { return a / gcd(a, b) * b; }
int csx[4]={0,0,-1,1};
int csy[4]={-1,1,0,0};
typedef pair <int, int> II;
typedef pair <II, int> III;
const int MOD = 1000000007;
const int maxn = 100005;
/******VAR******/
int n, m, v[maxn + 5];
LL sum[maxn + 5];
vector <int> adj[maxn + 5], adje[maxn + 5];
III e[maxn + 5];
/***************/
void enter() {
int per;
cin >> n >> m;
SET(sum, 0);
FOR(i, 1, n) {
cin >> e[i].fi.fi >> e[i].fi.se;
e[i].se = i;
FOR(j, 1, e[i].fi.fi) {
cin >> per;
adj[per].pb(i);
sum[i] += per;
adje[i].pb(per);
}
}
}
bool cmp(III a, III b) {
return (a.fi.se < b.fi.se);
}
void solve() {
queue <int> Q;
SET(v, -1);
FOR(i, 1, n) if (e[i].fi.fi == 1) {
Q.push(i);
v[sum[i]] = e[i].fi.se;
dd[i] = 1;
}
while (Q.size() > 0) {
int p = Q.front(); Q.pop();
int per = sum[p];
if (e[p].fi.fi == 0) continue;
FO(i, 0, adj[per].size()) {
int vv = adj[per][i];
if (v[per] > e[vv].fi.se) {
cout << "Poor memory";
return ;
}
sum[vv] -= per;
if (e[vv].fi.fi > 0) e[vv].fi.fi --;
if (e[vv].fi.fi == 1) {
v[sum[vv]] = e[vv].fi.se;
Q.push(vv);
}
}
}
sort(e + 1, e + n + 1, cmp);
FOR(i, 1, n) {
int sz = adje[e[i].se].size();
int p = -1;
FO(j, 0, sz) {
int vv = adje[e[i].se][j];
if (v[vv] == -1) v[vv] = e[i].fi.se;
p = max(p, v[vv]);
}
if (p != e[i].fi.se) {
cout << "Poor memory";
return ;
}
}
cout << "Good memory" << endl;
FOR(i, 1, m) if (v[i] != -1) cout << v[i] << " "; else cout << 1 << " ";
}
int main() {
// freopen("test.in", "r", stdin);
enter();
solve();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGRlcXVlPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzdGFjaz4KI2RlZmluZSBGT1IoaSxhLGIpIGZvciAodHlwZW9mKGIpIGk9YTsgaSA8PWIgOyBpKyspCiNkZWZpbmUgRk8oaSxhLGIpIGZvciAodHlwZW9mKGIpIGk9YTsgaSA8IGIgOyBpKyspCiNkZWZpbmUgRk9SRChpLGEsYikgZm9yICh0eXBlb2YoYSkgaT1hOyBpID49YiA7IGktLSkKI2RlZmluZSBTRVQoYXJyLGMpIG1lbXNldChhcnIsYyxzaXplb2YoYXJyKSkKI2RlZmluZSBMTCBsb25nIGxvbmcKI2RlZmluZSBVTEwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcGYgcHVzaF9mcm9udAojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgUEkgMiphY29zKDAsMCkKI2RlZmluZSBpbmZpIDFlMTgKI2RlZmluZSBvbyAxZTE4CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8Y2xhc3MgVD4gaW50IGdldGJpdChpbnQgaSwgVCBYKSB7IHJldHVybiAoWCAmICgxPDwoaS0xKSkpOyB9CnRlbXBsYXRlIDxjbGFzcyBUPiBUIG9uYml0KGludCBpLCBUIFgpIHsgcmV0dXJuIChYIHwgKDE8PChpLTEpKSk7IH0KdGVtcGxhdGUgPGNsYXNzIFQ+IFQgb2ZmYml0KGludCBpLCBUIFgpIHsgcmV0dXJuIChYIHwgKDE8PChpLTEpKSAtICgxPDwoaS0xKSkpOyB9CnRlbXBsYXRlIDxjbGFzcyBUPiBUIHNxcihUIHgpIHsgcmV0dXJuICh4KngpOyB9CnRlbXBsYXRlIDxjbGFzcyBUPiBUIGN1YmUgKFQgeCkgeyByZXR1cm4gKHgqeCp4KTsgfQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gVCBnY2QoVCBhLCBUIGIpIHtUIHI7IHdoaWxlKGIhPTApIHtyPWElYjthPWI7Yj1yO30gcmV0dXJuIGE7fQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gVCBsY20oVCBhLCBUIGIpIHsgcmV0dXJuIGEgLyBnY2QoYSwgYikgKiBiOyB9CgppbnQgY3N4WzRdPXswLDAsLTEsMX07CmludCBjc3lbNF09ey0xLDEsMCwwfTsKCnR5cGVkZWYgcGFpciA8aW50LCBpbnQ+IElJOwp0eXBlZGVmIHBhaXIgPElJLCBpbnQ+IElJSTsKY29uc3QgaW50IE1PRCA9IDEwMDAwMDAwMDc7CmNvbnN0IGludCBtYXhuID0gMTAwMDA1OwoKLyoqKioqKlZBUioqKioqKi8KaW50IG4sIG0sIHZbbWF4biArIDVdOwpMTCBzdW1bbWF4biArIDVdOwp2ZWN0b3IgPGludD4gYWRqW21heG4gKyA1XSwgYWRqZVttYXhuICsgNV07CklJSSBlW21heG4gKyA1XTsKLyoqKioqKioqKioqKioqKi8KCnZvaWQgZW50ZXIoKSB7CiAgICBpbnQgcGVyOwogICAgY2luID4+IG4gPj4gbTsKICAgIFNFVChzdW0sIDApOwogICAgRk9SKGksIDEsIG4pIHsKICAgICAgICBjaW4gPj4gZVtpXS5maS5maSA+PiBlW2ldLmZpLnNlOwogICAgICAgIGVbaV0uc2UgPSBpOwogICAgICAgIEZPUihqLCAxLCBlW2ldLmZpLmZpKSB7CiAgICAgICAgICAgIGNpbiA+PiBwZXI7CiAgICAgICAgICAgIGFkaltwZXJdLnBiKGkpOwogICAgICAgICAgICBzdW1baV0gKz0gcGVyOwogICAgICAgICAgICBhZGplW2ldLnBiKHBlcik7CiAgICAgICAgfQogICAgfQp9Cgpib29sIGNtcChJSUkgYSwgSUlJIGIpIHsKICAgIHJldHVybiAoYS5maS5zZSA8IGIuZmkuc2UpOwp9Cgp2b2lkIHNvbHZlKCkgewogICAgcXVldWUgPGludD4gUTsKCiAgICBTRVQodiwgLTEpOwoKICAgIEZPUihpLCAxLCBuKSBpZiAoZVtpXS5maS5maSA9PSAxKSB7CiAgICAgICAgUS5wdXNoKGkpOwogICAgICAgIHZbc3VtW2ldXSA9IGVbaV0uZmkuc2U7CiAgICAgICAgZGRbaV0gPSAxOwogICAgfQoKICAgIHdoaWxlIChRLnNpemUoKSA+IDApIHsKICAgICAgICBpbnQgcCA9IFEuZnJvbnQoKTsgUS5wb3AoKTsKICAgICAgICBpbnQgcGVyID0gc3VtW3BdOwogICAgICAgIGlmIChlW3BdLmZpLmZpID09IDApIGNvbnRpbnVlOwogICAgICAgIEZPKGksIDAsIGFkaltwZXJdLnNpemUoKSkgewogICAgICAgICAgICBpbnQgdnYgPSBhZGpbcGVyXVtpXTsKCiAgICAgICAgICAgIGlmICh2W3Blcl0gPiBlW3Z2XS5maS5zZSkgewogICAgICAgICAgICAgICAgY291dCA8PCAiUG9vciBtZW1vcnkiOwogICAgICAgICAgICAgICAgcmV0dXJuIDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgc3VtW3Z2XSAtPSBwZXI7CiAgICAgICAgICAgIGlmIChlW3Z2XS5maS5maSA+IDApIGVbdnZdLmZpLmZpIC0tOwogICAgICAgICAgICBpZiAoZVt2dl0uZmkuZmkgPT0gMSkgewogICAgICAgICAgICAgICAgICAgIHZbc3VtW3Z2XV0gPSBlW3Z2XS5maS5zZTsKICAgICAgICAgICAgICAgICAgICBRLnB1c2godnYpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKCiAgICBzb3J0KGUgKyAxLCBlICsgbiArIDEsIGNtcCk7CiAgICBGT1IoaSwgMSwgbikgewogICAgICAgIGludCBzeiA9IGFkamVbZVtpXS5zZV0uc2l6ZSgpOwogICAgICAgIGludCBwID0gLTE7CiAgICAgICAgRk8oaiwgMCwgc3opIHsKICAgICAgICAgICAgaW50IHZ2ID0gYWRqZVtlW2ldLnNlXVtqXTsKICAgICAgICAgICAgaWYgKHZbdnZdID09IC0xKSB2W3Z2XSA9IGVbaV0uZmkuc2U7CiAgICAgICAgICAgIHAgPSBtYXgocCwgdlt2dl0pOwogICAgICAgIH0KICAgICAgICBpZiAocCAhPSBlW2ldLmZpLnNlKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIlBvb3IgbWVtb3J5IjsKICAgICAgICAgICAgcmV0dXJuIDsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCAiR29vZCBtZW1vcnkiIDw8IGVuZGw7CiAgICBGT1IoaSwgMSwgbSkgaWYgKHZbaV0gIT0gLTEpIGNvdXQgPDwgdltpXSA8PCAiICI7IGVsc2UgY291dCA8PCAxIDw8ICIgIjsKCn0KCmludCBtYWluKCkgewovLyAgICBmcmVvcGVuKCJ0ZXN0LmluIiwgInIiLCBzdGRpbik7CiAgICBlbnRlcigpOwogICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cg==