#include<iostream>
using namespace std;
int main()
{
int L, N, C, T, VR, VT1, VT2;
while (cin >> L) {
cin >> N >> C >> T;
cin >> VR >> VT1 >> VT2;
int *p = new int[N];
p[1] = 0;
double *num = new double[(int)pow(2, N)];
for(int i = 0; i < N; i++) {
cin >> p[i];
}
//初步:二叉树?
//12 1234 12345678
int *lll = new int[(int)pow(2, N)];//前一次充点电剩余距离
int aaa = p[0];//乌龟到下一个发电站的距离
//num[0]不充电,num[1]充电
if (aaa >= C) {
num[0] = C / (double)VT1 + (aaa - C) / (double)VT2;
lll[0] = 0;
}
else {
num[0] = aaa / (double)VT1;
lll[0] = C - aaa;
}
num[1] = num[0] + T;
lll[1] = C;
double *cpynum = new double[(int)pow(2, N)];
int *cpylll = new int[(int)pow(2, N)];
int ggg;//存储后面每两种可能属于前面哪一种的后续
for (int fff = 2; fff <= N; fff++) {
aaa = p[fff - 1] - p[fff - 2];
ggg = 0;
for (int j = 0; j < (int)pow(2, fff - 1); j++) {
cpynum[j] = num[j];
}
for (int j = 0; j < (int)pow(2, fff - 1); j++) {
cpylll[j] = lll[j];
}
for (int i = 0; i < (int)pow(2, fff); i += 2, ggg++) {
if (aaa >= cpylll[ggg]) {
num[i] = cpynum[ggg] + cpylll[ggg] / (double)VT1 + (aaa - cpylll[ggg]) / (double)VT2;
lll[i] = 0;
}
else {
num[i] = cpynum[ggg] + aaa / (double)VT1;
lll[i] = cpylll[ggg] - aaa;
}
num[i + 1] = num[i] + T;
lll[i + 1] = C;
}
}
double min = num[0];
for (int i = 1; i < (int)pow(2, N); i++) {
if (num[i] < min) {
min = num[i];
}
}
if (min < L / (double)VR) {
cout << "What a pity rabbit!" << endl;
}
else {
cout << "Good job,rabbit!";
}
delete cpynum;
delete cpylll;
delete lll;
delete num;
}
return 0;
}