#include<bits/stdc++.h>
typedef long long int ll;
typedef unsigned long long int ull;
#define BIG_NUM 2000000000
#define HUGE_NUM 99999999999999999
#define MOD 1000000007
#define EPS 0.000000001
using namespace std;


#define NUM 1005

struct Info{
	double v_x,v_y;
};

int N;
Info info[NUM];
double X,Y;
double g;

double calc_height(double v_y,double t){

	return v_y*t-g*t*t/2.0;
}

void func(){

	for(int i = 0; i < N; i++){
		scanf("%lf %lf",&info[i].v_x,&info[i].v_y);
	}
	scanf("%lf %lf",&X,&Y);

	double minimum = (double)BIG_NUM;

	for(int i = 0; i < N; i++){
		minimum = min(minimum,calc_height(info[i].v_y,X/info[i].v_x));
	}

	if(minimum > Y+EPS){
		printf("No\n");
		return;
	}

	double left = -BIG_NUM,right = BIG_NUM,mid = (left+right)/2;
	double tmp_x,tmp_y,tmp_t;

	for(int i = 0; i < 100; i++){

		tmp_x = 0;
		tmp_y = 0;

		for(int k = 0; k < N; k++){
			tmp_t = (info[k].v_y-mid*info[k].v_x)/g;
			if(tmp_t < 0)continue;

			tmp_x += info[k].v_x*tmp_t;
			tmp_y += calc_height(info[k].v_y,tmp_t);
		}

		if(tmp_x+EPS < X){

			right = mid-EPS;

		}else{

			left = mid+EPS;

		}
		mid = (left+right)/2.0;
	}

	if(tmp_y >= Y){

		printf("Yes\n");

	}else{

		printf("No\n");
	}
}

int main(){

	g = 9.8;

	while(true){
		scanf("%d",&N);
		if(N == 0)break;

		func();
	}

	return 0;
}

