#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;
}