#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const ll INF = 100000000000ll;
#define N 100010
struct point{
ll x, y;
point(ll x=0, ll y=0): x(x), y(y){}
point operator -(const point &b) const{
return point(x-b.x, y-b.y);
}
ll operator %(const point &b) const{
return x*b.y-y*b.x;
}
};
point yama[N];
int st[N], chl[N], chr[N];
struct frac{
ll p, q;
frac(ll p=0, ll q=1): p(p), q(q){}
bool operator <(const frac &b) const{
return p*b.q < q*b.p;
}
};
pair<frac, frac> kukan[N];
#define M 100010
frac b[M];
int main(){
int n;
while(scanf("%d", &n) == 1){
for(int i=1; i<=n; i++){
scanf("%lld%lld", &yama[i].x, &yama[i].y);
}
int len=1; st[1]=1;
for(int i=2; i<=n; i++){
while(len>=2){
point u=yama[i]-yama[st[len]], v=yama[st[len]]-yama[st[len-1]];
if(u%v > 0) break;
len--;
}
chl[i] = st[len];
st[++len] = i;
}
len=1; st[1]=n;
for(int i=n-1; i>=1; i--){
while(len>=2){
point u=yama[i]-yama[st[len]], v=yama[st[len]]-yama[st[len-1]];
if(u%v < 0) break;
len--;
}
chr[i] = st[len];
st[++len] = i;
}
int m;
ll h;
scanf("%d%lld", &m, &h);
kukan[1].second = frac(-INF, 1);
for(int i=2; i<=n; i++){
ll x1=yama[i].x, y1=yama[i].y, x2=yama[chl[i]].x, y2=yama[chl[i]].y;
if(y1 >= y2){
kukan[i].second = frac(-INF, 1);
}else{
kukan[i].second = frac(x2*(y2-y1)-(h-y2)*(x1-x2), y2-y1);
}
}
kukan[n].first = frac(INF, 1);
for(int i=n-1; i>=1; i--){
ll x1=yama[i].x, y1=yama[i].y, x2=yama[chr[i]].x, y2=yama[chr[i]].y;
if(y1 >= y2){
kukan[i].first = frac(INF, 1);
}else{
kukan[i].first = frac(x2*(y2-y1)-(h-y2)*(x1-x2), y2-y1);
}
}
sort(kukan+1, kukan+n+1);
for(int i=1; i<=m; i++){
scanf("%lld", &b[i].p);
b[i].q = 1;
}
int ans = 0;
bool feasible = true;
frac loli = frac(-INF, 1);
for(int i=1, j=1; i<=n; i++){
if(kukan[i].second < loli){
continue;
}
while(j<=m && b[j]<kukan[i].first){
j++;
}
j--;
if(j==0 || !(kukan[i].second<b[j])){
feasible = false; break;
}
loli = b[j]; ans++;
}
if(feasible){
printf("%d\n", ans);
}else{
puts("you need more bulbs!");
}
}
return 0;
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBsbCBJTkYgPSAxMDAwMDAwMDAwMDBsbDsKCiNkZWZpbmUgTiAxMDAwMTAKc3RydWN0IHBvaW50ewogICAgbGwgeCwgeTsKICAgIHBvaW50KGxsIHg9MCwgbGwgeT0wKTogeCh4KSwgeSh5KXt9CiAgICBwb2ludCBvcGVyYXRvciAtKGNvbnN0IHBvaW50ICZiKSBjb25zdHsKICAgICAgICByZXR1cm4gcG9pbnQoeC1iLngsIHktYi55KTsKICAgIH0KICAgIGxsIG9wZXJhdG9yICUoY29uc3QgcG9pbnQgJmIpIGNvbnN0ewogICAgICAgIHJldHVybiB4KmIueS15KmIueDsKICAgIH0KfTsKcG9pbnQgeWFtYVtOXTsKaW50IHN0W05dLCBjaGxbTl0sIGNocltOXTsKc3RydWN0IGZyYWN7CiAgICBsbCBwLCBxOwogICAgZnJhYyhsbCBwPTAsIGxsIHE9MSk6IHAocCksIHEocSl7fQogICAgYm9vbCBvcGVyYXRvciA8KGNvbnN0IGZyYWMgJmIpIGNvbnN0ewogICAgICAgIHJldHVybiBwKmIucSA8IHEqYi5wOwogICAgfQp9OwpwYWlyPGZyYWMsIGZyYWM+IGt1a2FuW05dOwoKI2RlZmluZSBNIDEwMDAxMApmcmFjIGJbTV07CgppbnQgbWFpbigpewogICAgaW50IG47CiAgICB3aGlsZShzY2FuZigiJWQiLCAmbikgPT0gMSl7CiAgICAgICAgZm9yKGludCBpPTE7IGk8PW47IGkrKyl7CiAgICAgICAgICAgIHNjYW5mKCIlbGxkJWxsZCIsICZ5YW1hW2ldLngsICZ5YW1hW2ldLnkpOwogICAgICAgIH0KICAgICAgICBpbnQgbGVuPTE7IHN0WzFdPTE7CiAgICAgICAgZm9yKGludCBpPTI7IGk8PW47IGkrKyl7CiAgICAgICAgICAgIHdoaWxlKGxlbj49Mil7CiAgICAgICAgICAgICAgICBwb2ludCB1PXlhbWFbaV0teWFtYVtzdFtsZW5dXSwgdj15YW1hW3N0W2xlbl1dLXlhbWFbc3RbbGVuLTFdXTsKICAgICAgICAgICAgICAgIGlmKHUldiA+IDApIGJyZWFrOwogICAgICAgICAgICAgICAgbGVuLS07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2hsW2ldID0gc3RbbGVuXTsKICAgICAgICAgICAgc3RbKytsZW5dID0gaTsKICAgICAgICB9CiAgICAgICAgbGVuPTE7IHN0WzFdPW47CiAgICAgICAgZm9yKGludCBpPW4tMTsgaT49MTsgaS0tKXsKICAgICAgICAgICAgd2hpbGUobGVuPj0yKXsKICAgICAgICAgICAgICAgIHBvaW50IHU9eWFtYVtpXS15YW1hW3N0W2xlbl1dLCB2PXlhbWFbc3RbbGVuXV0teWFtYVtzdFtsZW4tMV1dOwogICAgICAgICAgICAgICAgaWYodSV2IDwgMCkgYnJlYWs7CiAgICAgICAgICAgICAgICBsZW4tLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjaHJbaV0gPSBzdFtsZW5dOwogICAgICAgICAgICBzdFsrK2xlbl0gPSBpOwogICAgICAgIH0KICAgICAgICBpbnQgbTsKICAgICAgICBsbCBoOwogICAgICAgIHNjYW5mKCIlZCVsbGQiLCAmbSwgJmgpOwogICAgICAgIGt1a2FuWzFdLnNlY29uZCA9IGZyYWMoLUlORiwgMSk7CiAgICAgICAgZm9yKGludCBpPTI7IGk8PW47IGkrKyl7CiAgICAgICAgICAgIGxsIHgxPXlhbWFbaV0ueCwgeTE9eWFtYVtpXS55LCB4Mj15YW1hW2NobFtpXV0ueCwgeTI9eWFtYVtjaGxbaV1dLnk7CiAgICAgICAgICAgIGlmKHkxID49IHkyKXsKICAgICAgICAgICAgICAgIGt1a2FuW2ldLnNlY29uZCA9IGZyYWMoLUlORiwgMSk7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAga3VrYW5baV0uc2Vjb25kID0gZnJhYyh4MiooeTIteTEpLShoLXkyKSooeDEteDIpLCB5Mi15MSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAga3VrYW5bbl0uZmlyc3QgPSBmcmFjKElORiwgMSk7CiAgICAgICAgZm9yKGludCBpPW4tMTsgaT49MTsgaS0tKXsKICAgICAgICAgICAgbGwgeDE9eWFtYVtpXS54LCB5MT15YW1hW2ldLnksIHgyPXlhbWFbY2hyW2ldXS54LCB5Mj15YW1hW2NocltpXV0ueTsKICAgICAgICAgICAgaWYoeTEgPj0geTIpewogICAgICAgICAgICAgICAga3VrYW5baV0uZmlyc3QgPSBmcmFjKElORiwgMSk7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAga3VrYW5baV0uZmlyc3QgPSBmcmFjKHgyKih5Mi15MSktKGgteTIpKih4MS14MiksIHkyLXkxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBzb3J0KGt1a2FuKzEsIGt1a2FuK24rMSk7CiAgICAgICAgZm9yKGludCBpPTE7IGk8PW07IGkrKyl7CiAgICAgICAgICAgIHNjYW5mKCIlbGxkIiwgJmJbaV0ucCk7CiAgICAgICAgICAgIGJbaV0ucSA9IDE7CiAgICAgICAgfQogICAgICAgIGludCBhbnMgPSAwOwogICAgICAgIGJvb2wgZmVhc2libGUgPSB0cnVlOwogICAgICAgIGZyYWMgbG9saSA9IGZyYWMoLUlORiwgMSk7CiAgICAgICAgZm9yKGludCBpPTEsIGo9MTsgaTw9bjsgaSsrKXsKICAgICAgICAgICAgaWYoa3VrYW5baV0uc2Vjb25kIDwgbG9saSl7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZShqPD1tICYmIGJbal08a3VrYW5baV0uZmlyc3QpewogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGotLTsKICAgICAgICAgICAgaWYoaj09MCB8fCAhKGt1a2FuW2ldLnNlY29uZDxiW2pdKSl7CiAgICAgICAgICAgICAgICBmZWFzaWJsZSA9IGZhbHNlOyBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBsb2xpID0gYltqXTsgYW5zKys7CiAgICAgICAgfQogICAgICAgIGlmKGZlYXNpYmxlKXsKICAgICAgICAgICAgcHJpbnRmKCIlZFxuIiwgYW5zKTsKICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgcHV0cygieW91IG5lZWQgbW9yZSBidWxicyEiKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=