#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int i,j;
int L,x;
int N,C,T;
int VR,VT1,VT2;
int p[102];
double dp[102],min,e;
while(cin>>L)
{
cin>>N>>C>>T;
cin>>VR>>VT1>>VT2;
dp[0]=p[0]=0;
for(i=1;i<=N;i++)
{
scanf("%d", p + i);
}
p[i]=L;
for(i=1;i<N+2;i++)
{
min=0xffffff;//表示min为无穷大
for(j=0;j<i;j++)
{
x=p[i]-p[j];
e = x > C ? 1.0 * C / VT1 + (x - C + 0.0) / VT2 : 1.0 * x / VT1;
e+=dp[j];//加上过第j个充电站的最优解
if(j>0)
{
e+=T;//过充电站充电所需时间
}
if(min>e)
{
min=e;
}
}
dp[i]=min;
}
if(1.0*L/VR>dp[N+1])
{
cout<<"What a pity rabbit!"<<endl;
}else{
cout<<"Good job,rabbit!"<<endl;
}
}
return 0;
}
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int i,j;
int L,x;
int N,C,T;
int VR,VT1,VT2;
int p[102];
double dp[102],min,e;
while(cin>>L)
{
cin>>N>>C>>T;
cin>>VR>>VT1>>VT2;
dp[0]=p[0]=0;
for(i=1;i<=N;i++)
{
scanf("%d", p + i);
}
p[i]=L;
for(i=1;i<N+2;i++)
{
min=0xffffff;//表示min为无穷大
for(j=0;j<i;j++)
{
x=p[i]-p[j];
e = x > C ? 1.0 * C / VT1 + (x - C + 0.0) / VT2 : 1.0 * x / VT1;
e+=dp[j];//加上过第j个充电站的最优解
if(j>0)
{
e+=T;//过充电站充电所需时间
}
if(min>e)
{
min=e;
}
}
dp[i]=min;
}
if(1.0*L/VR>dp[N+1])
{
cout<<"What a pity rabbit!"<<endl;
}else{
cout<<"Good job,rabbit!"<<endl;
}
}
return 0;
}