#include<stdio.h>
#include<vector>
#include<algorithm>
#include<math.h>
using namespace std;
const long double EPS = 1e-13;
const long double INF = 1e+10;
const long double PI = acos(-1);
int sig(long double r) { return (r < -EPS) ? -1 : (r > +EPS) ? +1 : 0; }
inline long double ABS(long double a){return max(a,-a);}
struct Pt {
	long double x, y;
	Pt() {}
	Pt(long double x, long double y) : x(x), y(y) {}
	Pt operator+(const Pt &a) const { return Pt(x + a.x, y + a.y); }
	Pt operator-(const Pt &a) const { return Pt(x - a.x, y - a.y); }
	Pt operator*(const Pt &a) const { return Pt(x * a.x - y * a.y, x * a.y + y * a.x); }
	Pt operator-() const { return Pt(-x, -y); }
	Pt operator*(const long double &k) const { return Pt(x * k, y * k); }
	Pt operator/(const long double &k) const { return Pt(x / k, y / k); }
	long double ABS() const { return sqrt(x * x + y * y); }
	long double abs2() const { return x * x + y * y; }
	long double arg() const { return atan2(y, x); }
	long double dot(const Pt &a) const { return x * a.x + y * a.y; }
	long double det(const Pt &a) const { return x * a.y - y * a.x; }
};
long double tri(const Pt &a, const Pt &b, const Pt &c) { return (b - a).det(c - a); }
int iSP(Pt a, Pt b, Pt c) {
	int s = sig((b - a).det(c - a));
	if (s) return s;
	if (sig((b - a).dot(c - a)) < 0) return -2; // c-a-b
	if (sig((a - b).dot(c - b)) < 0) return +2; // a-b-c
	return 0;
}
pair<Pt,Pt> pCL(Pt a, long double r, Pt b, Pt c) {
	Pt h = b + (c - b) * (c - b).dot(a - b) / (c - b).abs2(); // perp(b, c, a)
	long double d = (h - a).ABS();
	long double y = sqrt(max(r * r - d * d, 0.0L));
	Pt e = (c - b) / (c - b).ABS();
	return make_pair(h - e * y, h + e * y);
}
long double dSP(Pt a, Pt b, Pt c) {
	if (sig((b - a).dot(c - a)) <= 0) return (c - a).ABS();
	if (sig((a - b).dot(c - b)) <= 0) return (c - b).ABS();
	return ABS(tri(a, b, c)) / (b - a).ABS();
}
bool iCS(Pt a, long double r, Pt b, Pt c) {
	return (sig(r - dSP(b, c, a)) >= 0 && sig(r - max((b - a).ABS(), (c - a).ABS())) <= 0);
}
Pt p[50];
char ans[4][10]={"Red","Green","Blue","White"};
int main(){
	int a;
	long double b,c;
	scanf("%d%Lf%Lf",&a,&b,&c);
	for(int i=0;i<a;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		p[i]=Pt((long double)x,(long double)y);
	}
	int cnt=0;
	Pt st=(p[0]*(p[1].x-b)+p[1]*(b-p[0].x))/(p[1].x-p[0].x);
	
	Pt now=st+(p[1]-p[0])/((p[1]-p[0]).ABS());
	//printf("%Lf %Lf %Lf\n",st.x,st.y,dSP(p[0],p[1],st));
	//printf("%Lf %Lf %Lf\n",now.x,now.y,dSP(p[0],p[1],st));
	int at=0;
	Pt last=st;
	while(1){
		int tc=cnt+1;
		int ta=at;
		Pt tp;
		long double th=-9999999;
		if(at<a-2&&iCS(now,1.0L,p[at+1],p[at+2])){
			pair<Pt,Pt> it=pCL(now,1.0L,p[at+1],p[at+2]);
			if(iSP(p[at+1],it.first,p[at+2])==2||(it.first-p[at+2]).ABS()<EPS){
				if(th<(it.first-now).arg()){
					tp=it.first;
					th=(it.first-now).arg();
					ta=at+1;
					tc=cnt+1;
				}
			}
			if(iSP(p[at+1],it.second,p[at+2])==2||(it.second-p[at+2]).ABS()<EPS){
				if(th<(it.second-now).arg()){
					tp=it.second;
					th=(it.second-now).arg();
					ta=at+1;
					tc=cnt+1;
				}
			}
		}
		if(at<a-2&&iCS(now,sqrt(2.0L),p[at+1],p[at+2])){
			pair<Pt,Pt> it=pCL(now,sqrt(2.0L),p[at+1],p[at+2]);
			if(iSP(p[at+1],it.first,p[at+2])==2||(it.first-p[at+2]).ABS()<EPS){
		//		printf("%Lf ",(it.first-now).arg());
				if(th<(it.first-now).arg()-PI/4){
					tp=it.first;
					th=(it.first-now).arg()-PI/4;
					ta=at+1;
					tc=cnt+2;
				}
			}
			if(iSP(p[at+1],it.second,p[at+2])==2||(it.second-p[at+2]).ABS()<EPS){
		//		printf("%Lf\n",(it.second-now).arg());
				if(th<(it.second-now).arg()-PI/4){
					tp=it.second;
					th=(it.second-now).arg()-PI/4;
					ta=at+1;
					tc=cnt+2;
				}
			}
		}
		if(at<a-3&&iCS(now,sqrt(2.0L),p[at+2],p[at+3])){
			pair<Pt,Pt> it=pCL(now,sqrt(2.0L),p[at+2],p[at+3]);
			if(iSP(p[at+2],it.first,p[at+3])==2||(it.first-p[at+3]).ABS()<EPS){
		//		printf("%Lf ",(it.first-now).arg());
				if(th<(it.first-now).arg()-PI/4){
					tp=it.first;
					th=(it.first-now).arg()-PI/4;
					ta=at+2;
					tc=cnt+2;
				}
			}
			if(iSP(p[at+2],it.second,p[at+3])==2||(it.second-p[at+3]).ABS()<EPS){
		//		printf("%Lf\n",(it.second-now).arg());
				if(th<(it.second-now).arg()-PI/4){
					tp=it.second;
					th=(it.second-now).arg()-PI/4;
					ta=at+2;
					tc=cnt+2;
				}
			}
		}
		
		{
			pair<Pt,Pt> it=pCL(now,1.0L,now,p[at+1]);
			if(iSP(now,it.first,p[at+1])==2||(it.first-p[at+1]).ABS()<EPS){
				if(th<(it.first-now).arg()){
					th=(it.first-now).arg();
					tp=it.first;
					ta=at;tc=cnt+1;
				}
			}
			if(iSP(now,it.second,p[at+1])==2||(it.second-p[at+1]).ABS()<EPS){
				if(th<(it.second-now).arg()){
					th=(it.second-now).arg();
					tp=it.second;
					ta=at;tc=cnt+1;
				}
			}
		}
		cnt=tc;
		now=tp;
		at=ta;
		//printf("%Lf\n",th);
		//printf("%Lf %Lf %Lf %Lf %Lf %d %d\n",th,now.x,now.y,dSP(p[0],p[1],now),dSP(p[1],p[2],now),at,cnt);
		if(now.x>c){
			break;
		}
	}
	//printf("%d\n",cnt);
	printf("%s\n",ans[cnt%4]);
}

Measured memory_bytes: 1128