#include<bits/stdc++.h>
using namespace std;
#define ll long long int
ll n,x,y,lo,hi,mid;
int main()
{
    //ios::sync_with_stdio(0);
    //cin.tie(0);
    string s;
    cin>>n;
    lo=0;
    hi=1e9;
    cout<<"0 0\n";
    fflush(stdout);
    cin>>s;
    if(s=="black")
    {
        n--;
        while(n>0)
        {
            n--;
            ll mid=(lo+hi)/2;
            cout<<mid<<" 0\n";
            fflush(stdout);
            cin>>s;
            if(s=="black")
            {
                lo=mid;
            }
            else
            {
                hi=mid;
            }
        }
        mid=(lo+hi)/2;
        cout<<mid<<" 0 "<<mid<<" 1\n";
        fflush(stdout);
    }
    else
    {
        n--;
        while(n>0)
        {
            n--;
            ll mid=(lo+hi)/2;
            cout<<mid<<" 0\n";
            fflush(stdout);
            cin>>s;
            if(s=="white")
            {
                lo=mid;
            }
            else
            {
                hi=mid;
            }
        }
        mid=(lo+hi)/2;
        cout<<mid<<" 0 "<<mid<<" 1\n";
        fflush(stdout);
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define ll long long int
ll n,x,y,lo,hi,mid;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    string s;
    cin>>n;
    lo=0;
    hi=1e9;
    cout<<"0 0\n";
    fflush(stdout);
    cin>>s;
    if(s=="black")
    {
        n--;
        while(n>0)
        {
            n--;
            ll mid=(lo+hi)/2;
            cout<<mid<<" 0\n";
            fflush(stdout);
            cin>>s;
            if(s=="black")
            {
                lo=mid+1;
            }
            else
            {
                hi=mid-1;
            }
        }
        mid=(lo+hi)/2;
        cout<<mid<<" 0 "<<mid<<" 1\n";
        fflush(stdout);
    }
    else
    {
        n--;
        while(n>0)
        {
            n--;
            ll mid=(lo+hi)/2;
            cout<<mid<<" 0\n";
            fflush(stdout);
            cin>>s;
            if(s=="white")
            {
                lo=mid+1;
            }
            else
            {
                hi=mid-1;
            }
        }
        mid=(lo+hi)/2;
        cout<<mid<<" 0 "<<mid<<" 1\n";
        fflush(stdout);
    }
    return 0;
}


#include <stdio.h>

using namespace std;

int n;
char s[110];

int main()
{
	scanf("%d", &n);

	int l = 1;
	int r = 1e9;
	int last = -1;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("0 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] == 'b') { r = m - 1; last = r; } else {

			l = m + 1;
			last = l;
		}
	}

	printf("%d %d %d %d", 0, last, 1, last);

	return 0;
}


#include <stdio.h>
#include <algorithm>

using namespace std;

int n, ll, rr;
char s[110], init[110];

int main()
{
	scanf("%d", &n);

	printf("0 0\n");

	fflush(stdout);

	scanf("%s", init + 1);

	n--;

	int l = 1;
	int r = 1e9;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("0 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[0] != init[0]) r = m; else
			l = m;
	}

	printf("0 %d 1 %d", (l + r) / 2, (l + r) / 2);

	return 0;
}


#include <stdio.h>

using namespace std;

int n;
char s[110];

int main()
{
	scanf("%d", &n);

	int l = 0;
	int r = 1e9;
	int last = -1;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2 - (l + r) % 2;

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] == 'b') { r = m; last = r; } else {

			l = m;
			last = l;
		}
	}

	printf("%d %d %d %d", 0, last, 1, last);

	fflush(stdout);

	return 0;
}


#include <stdio.h>
#include <algorithm>

using namespace std;

int n, ll, rr;
char s[110], init[110];

int main()
{
	scanf("%d", &n);

	printf("1 0\n");

	fflush(stdout);

	scanf("%s", init + 1);

	n--;

	int l = 1;
	int r = 1e9;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("1 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] != init[1]) r = m; else
			l = m;
	}

	printf("0 %d 2 %d", l, r);

	return 0;
}


#include <stdio.h>
#include <algorithm>

using namespace std;

int n, ll, rr;
char s[110], init[110];

int main()
{
	scanf("%d", &n);

	printf("0 0\n");

	fflush(stdout);

	scanf("%s", init + 1);

	n--;

	int l = 1;
	int r = 1e9;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("0 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[0] == init[0]) r = m; else
			l = m;
	}

	printf("0 %d 1 %d", (l + r) / 2, (l + r) / 2);

	return 0;
}


#include <stdio.h>
#include <algorithm>

using namespace std;

int n, ll, rr;
char s[110], init[110];

int main()
{
	scanf("%d", &n);

	printf("0 0\n");

	fflush(stdout);

	scanf("%s", init + 1);

	n--;

	int l = 1;
	int r = 1e9;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("0 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] != init[1]) r = m; else
			l = m;
	}

	printf("0 %d 1 %d", (l + r) / 2, (l + r) / 2);

	return 0;
}


#include <stdio.h>

using namespace std;

int n;
char s[110];

int main()
{
	scanf("%d", &n);

	int l = 0;
	int r = 1e9;
	int last = -1;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("0 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] != 'b') { r = m; last = r; } else {

			l = m;
			last = l;
		}
	}

	printf("%d %d %d %d", 0, last + 1, 1, last + 1);

	fflush(stdout);

	return 0;
}


#include <stdio.h>

using namespace std;

int n, ll, rr;
char s[110];

int main()
{
	scanf("%d", &n);

	int l = 0;
	int r = 1e9;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;
		ll = l;
		rr = r;

		printf("1 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] != 'b') r = m; else
			l = m;
	}

	printf("%d %d %d %d", 0, l, 2, r);

	return 0;
}


#include <stdio.h>

using namespace std;

int n;
char s[110];

int main()
{
	scanf("%d", &n);

	int l = 1;
	int r = 1e9;
	int last = -1;

	for (int i = 1; i <= n; i++) {

		int m = (l + r) / 2;

		printf("1 %d\n", m);

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[1] == 'b') { r = m - 1; last = r; } else {

			l = m + 1;
			last = l;
		}
	}

	printf("%d %d %d %d", 0, l, 2, r);

	return 0;
}


#include <stdio.h>

using namespace std;

int n, x;
int v[50], pos[50];
char s[20];

int main()
{
	scanf("%d", &n);

	int x = 1e9;

	for (int i = 1; i <= n; i++) {

		printf("0 %d\n", x);

		pos[i] = x;

		x -= 2;

		fflush(stdout);

		scanf("%s", s + 1);

		if (s[0] == 'b') v[i] = 0; else
			v[i] = 1;
	}

	for (int i = 1; i < n; i++)
		if (v[i] != v[i + 1]) {

			printf("%d %d %d %d", 0, v[i] + 1, 1, v[i] + 1); fflush(stdout); return 0;
		}

	printf("%d %d %d %d", 0, v[1] - 1, 1, v[1] - 1);

	fflush(stdout);

	return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
#define maxn 2005

int main()
{
	int n;
	scanf("%d",&n);
	char buf[10];
	int x_l = 0;
	int x_r = (int)1e9;
	int cnt=  0;
	char first_co ;
	printf("%d %d",1,x_l);
	scanf("%s",buf);
	if(buf[0] == 'b')
	{
		cnt = 1;
		first_co = 'b';
	}
	else{
		cnt = 1;
		first_co = 'w';
	}

	for(int i = 1;i <= n-1;i++)
	{
		int mid = (x_l + x_r) >>1;
		printf("%d %d\n",1,mid);
		scanf("%s",buf);
		if(buf[0] == first_co)
		{
			x_r = mid -1;
		}
		else{
			x_l = mid + 1;
		}
	}
	if(x_r >= x_l) cout << "0 "<< x_l << " 1 " <<x_r << endl;
	else{
		cout << "0 "<< x_r << " 2 " <<x_l << endl;
	}

	return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
#define maxn 2005

int main()
{
	int n;
	cin>>n;
	char buf[10];
	int x_l = 0;
	int x_r = (int)1e9;
	int cnt=  0;
	char first_co ;
	printf("%d %d\n",1,x_l);
	cin>>buf;
	if(buf[0] == 'b')
	{
		cnt = 1;
		first_co = 'b';
	}
	else{
		cnt = 1;
		first_co = 'w';
	}

	for(int i = 1;i <= n-1;i++)
	{
		int mid = (x_l + x_r) >>1;
		printf("%d %d\n",1,mid);
		cin>>buf;
		if(buf[0] != first_co)
		{
			x_r = mid;
		}
		else{
			x_l = mid + 1;
		}
	}
	if(x_r >= x_l) cout << "0 "<< x_l << " 2 " <<x_r << endl;
	else{
		cout << "0 "<< x_r << " 2 " <<x_l << endl;
	}

	return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
#define maxn 2005

int main()
{
	int n;
	scanf("%d",&n);
	char buf[10];
	int x_l = 0;
	int x_r = (int)1e9;
	int cnt=  0;
	char first_co ;
	printf("%d %d\n",1,x_l);
	scanf("%s",buf);
	if(buf[0] == 'b')
	{
		cnt = 1;
		first_co = 'b';
	}
	else{
		cnt = 1;
		first_co = 'w';
	}

	for(int i = 1;i <= n-1;i++)
	{
		int mid = (x_l + x_r) >>1;
		printf("%d %d\n",1,mid);
		scanf("%s",buf);
		if(buf[0] == first_co)
		{
			x_r = mid;
		}
		else{
			x_l = mid + 1;
		}
	}
	if(x_r >= x_l) cout << "0 "<< x_l << " 2 " <<x_r << endl;
	else{
		cout << "0 "<< x_r << " 2 " <<x_l << endl;
	}

	return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
#define maxn 2005

int main()
{
	int n;
	cin>>n;
	char buf[10];
	int x_l = 0;
	int x_r = (int)1e9;
	int cnt=  0;
	char first_co ;
	printf("%d %d\n",1,x_l);
	cin>>buf;
	if(buf[0] == 'b')
	{
		cnt = 1;
		first_co = 'b';
	}
	else{
		cnt = 1;
		first_co = 'w';
	}

	for(int i = 1;i <= n-1;i++)
	{
		int mid = (x_l + x_r) >>1;
		printf("%d %d\n",1,mid);
		cin>>buf;
		if(buf[0] == first_co)
		{
			x_r = mid;
		}
		else{
			x_l = mid + 1;
		}
	}
	if(x_r >= x_l) cout << "0 "<< x_l << " 2 " <<x_r << endl;
	else{
		cout << "0 "<< x_r << " 2 " <<x_l << endl;
	}

	return 0;
}


#include "stdio.h"
#include <iostream>
#include<algorithm>
#include<vector>
#include<stack>
#include<math.h>
#include<queue>

using namespace std;
typedef long long int lld;

int main(){
	int n;
	cin>>n;
	lld hi=1000000000;
	lld lo=1;
	cout<<"1 0"<<endl;
	string S;
	cin>>S;
	n--;
	while(n>0){
		lld mid=(hi+lo)/2;
		cout<<1<<" "<<mid<<endl;
		string s;
		cin>>s;
		if(s.at(0)!=S.at(0)){
			hi=mid-1;
		}else lo=mid+1;
		//cout<<hi<<" "<<lo<<endl;
		n--;
	}
	//cout<<hi<<" "<<lo<<endl;
	if(hi>=lo)cout<<"0 "<<lo<<" 1 "<<lo<<endl;
	else cout<<"0 "<<hi<<" 2 "<<lo<<endl;
	/*lld sum=lo;
	if(lo>0 && lo<2000000000)cout<<lo/2<<" "<<lo-lo/2<<" "<<lo/2+1<<" "<<lo-lo/2-1<<endl;
	else{
		//cout<<lo<<endl;
		cout<<"1 0 1000000000 1"<<endl;
	}*/
	/*if(lo>=2)cout<<" 1 "<<lo-1<<" 3 "<<lo-2<<endl;
	else cout<<" 1 "<<lo<<" 3 "<<lo+1<<endl; */
	return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
#define maxn 2005

int main()
{
	int n;
	scanf("%d",&n);
	char buf[10];
	int x_l = 0;
	int x_r = (int)1e9;
	int cnt=  0;
	char first_co ;
	printf("%d %d\n",1,x_l);
	scanf("%s",buf);
	if(buf[0] == 'b')
	{
		cnt = 1;
		first_co = 'b';
	}
	else{
		cnt = 1;
		first_co = 'w';
	}

	for(int i = 1;i <= n-1;i++)
	{
		int mid = (x_l + x_r) >>1;
		printf("%d %d\n",1,mid);
		scanf("%s",buf);
		if(buf[0] == first_co)
		{
			x_r = mid -1;
		}
		else{
			x_l = mid + 1;
		}
	}
	if(x_r >= x_l) cout << "0 "<< x_l << " 1 " <<x_r << endl;
	else{
		cout << "0 "<< x_r << " 2 " <<x_l << endl;
	}

	return 0;
}


#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <cstring>
using namespace std;
#define maxn 2005

int main()
{
	int n;
	scanf("%d",&n);
	char buf[10];
	int x_l = 0;
	int x_r = (int)1e9;
	int cnt=  0;
	char first_co ;
	printf("%d %d",x_l,0);
	scanf("%s",buf);
	if(buf[0] == 'b')
	{
		cnt = 1;
		first_co = 'b';
	}
	else{
		cnt = 1;
		first_co = 'w';
	}

	for(int i = 1;i <= n-1;i++)
	{
		int mid = (x_l + x_r) >>1;
		printf("%d %d",mid,0);
		scanf("%s",buf);
		if(buf[0] == first_co)
		{
			x_r = mid -1;
		}
		else{
			x_l = mid + 1;
		}
	}
	if(x_r >= x_l) cout << "0 "<< x_l << " 1 " <<x_r << endl;
	else{
		cout << "0 "<< x_r << " 2 " <<x_l << endl;
	}

	return 0;
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=1,right=536870912;
    ll t1=0;
    while(n--&&t1<27){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else if(n==1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+2<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid+3<<" "<<50<<" "<<mid+3<<" "<<49<<endl;
                return 0;
            }
            else{
                cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
                return 0;
            }

        }
        else if(s=="white"&&s2==s){
            cout<<mid-2<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
                return 0;
            }
            else{
                cout<<mid-3<<" "<<50<<" "<<mid-3<<" "<<49<<endl;
                return 0;
            }
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid+1<<" "<<50<<" "<<mid<<" "<<51<<endl;
                return 0;
            }
            else{
                cout<<mid-1<<" "<<50<<" "<<mid<<" "<<49<<endl;
                return 0;
            }

        }
        else{
            cout<<mid<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid+1<<" "<<50<<" "<<mid<<" "<<49<<endl;
                return 0;
            }
            else{
                cout<<mid-1<<" "<<50<<" "<<mid<<" "<<51<<endl;
                return 0;
            }

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n1=30;
    ll r=1000000000,l=0;
    while(n1--){
        ll mid=l+r;
        mid/=2;
        cout<<mid<<endl;
        r=mid;
    }

    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=1000000000;
    ll t1=0;
    while(n--&&t1<=28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=1000000000;
    ll t1=0;
    while(n--&&t1<28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=1000000000;
    ll t1=0;
    while(n--&&t1<27){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else if(n==1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+2<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid+3<<" "<<50<<" "<<mid+3<<" "<<49<<endl;
                return 0;
            }
            else{
                cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
                return 0;
            }

        }
        else if(s=="white"&&s2==s){
            cout<<mid-2<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
                return 0;
            }
            else{
                cout<<mid-3<<" "<<50<<" "<<mid-3<<" "<<49<<endl;
                return 0;
            }
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid+1<<" "<<50<<" "<<mid<<" "<<51<<endl;
                return 0;
            }
            else{
                cout<<mid-1<<" "<<50<<" "<<mid<<" "<<49<<endl;
                return 0;
            }

        }
        else{
            cout<<mid<<" "<<50<<endl;
            string s3;
            cin>>s3;
            if(s3=="black"){
                cout<<mid+1<<" "<<50<<" "<<mid<<" "<<49<<endl;
                return 0;
            }
            else{
                cout<<mid-1<<" "<<50<<" "<<mid<<" "<<51<<endl;
                return 0;
            }

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=536870912;
    ll t1=0;
    while(n--&&t1<28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=1000000000;
    ll t1=0;
    while(n--&&t1<=28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
ll dist(ll x1,ll y1,ll x2,ll y2){
    ll t1=abs(x1-x2);
    ll t2=abs(y1-y2);
    t1*=t1;
    t2*=t2;
    t1+=t2;
    t1=sqrt(t1);
    return t1;
}
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll left=0,l1=0,right=1000000000,r1=1000000000;
    while(n--){
        ll mid=dist(left,l1,right,r1);
        mid/=2;
        cout<<mid<<" "<<mid<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=l1=mid;
        }
        else{
            right=r1=mid;
        }
    }
    ll mid=dist(left,l1,right,r1);
    mid/=2;
    ll x=mid,y=mid;
    cout<<x<<" "<<y<<" "<<x+1<<" "<<y-1<<endl;
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=0;
    ll left=0,right=1000000000;
    while(n--){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
    }
    ll mid=left+right;
    mid/=2;
    cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=1,right=536870912;
    ll t1=0;
    while(n--&&t1<28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=1000000000;
    ll t1=0;
    while(n--&&t1<28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid1=left+1,mid2=right-1;
        cout<<mid1<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid2<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid1+1<<" "<<0<<" "<<mid2+1<<" "<<100<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid1-1<<" "<<0<<" "<<mid2-1<<" "<<100<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid1+1<<" "<<0<<" "<<mid2-1<<" "<<100<<endl;
            return 0;
        }
        else{
            cout<<mid1<<" "<<50<<" "<<mid1-1<<" "<<49<<endl;
            return 0;
        }
    }
}


#include <bits/stdc++.h>
#include <iostream>
#include <math.h>
#include <vector>
#include <deque>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stdio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
typedef unsigned long long int ul;
typedef long long int ll;
typedef long double ld;
#define all(V) V.begin(),V.end()
#define mod 1000000007LL
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n;
    cin>>n;
    ll y=50;
    ll left=0,right=1000000000;
    ll t1=0;
    while(n--&&t1<=28){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<y<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            left=mid;
        }
        else{
            right=mid;
        }
        t1++;
    }
    if(n==-1){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<1<<" "<<mid<<" "<<0<<endl;
    }
    else if(n==0){
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s;
        cin>>s;
        if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
    }
    else{
        ll mid=left+right;
        mid/=2;
        cout<<mid<<" "<<0<<endl;
        string s,s2;
        cin>>s;
        cout<<mid<<" "<<100<<endl;
        cin>>s2;
        if(s=="black"&&s2==s){
            cout<<mid+1<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="white"&&s2==s){
            cout<<mid-1<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;
        }
        else if(s=="black"){
            cout<<mid<<" "<<50<<" "<<mid+1<<" "<<49<<endl;
            return 0;
        }
        else{
            cout<<mid<<" "<<50<<" "<<mid-1<<" "<<49<<endl;
            return 0;

        }
    }
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    n = 30;
    int l = 0, r = 1e9;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(0 , m);
        if (nc == cl)
            l = m;
        else
            r = m;
    }
    for (int i = l + 1; i <= r; ++i) {
        cout << 0 << " " << i << " " << 1 << " " << i;
        break;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    //return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    cin >> n;
    int l = 1, r = 1e9 + 1;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(0 , m);
        if (nc == cl)
            l = m;
        else
            r = m + 1;
    }
    //cout << r - l << endl;
    for (int i = l + 1; i < r; ++i) {
        cout << 0 << " " << i << " " << 1 << " " << i;
        break;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    //return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    cin >> n;
    int l = 0, r = 1e9;
    int cl = ask(1, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(1 , m);
        if (nc == cl)
            l = m;
        else
            r = m;
    }
    //cout << r - l << endl;
    cout << 0 << " " << l << " " << 2 << " " << r;
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    cin >> s;
    return (s == "black");
}

signed main() {
    int n;
    cin >> n;
    int l = 0, r = 1e9;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(0 , m);
        if (nc == cl)
            l = m;
        else
            r = m;
    }
    cout << 0 << " " << (l + r) / 2 << " " << 1 << " " << (l + r) / 2;
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    //return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    cin >> n;
    int l = 0, r = 1e9;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(0 , m);
        if (nc == cl)
            l = m;
        else
            r = m;
    }
    for (int i = l + 1; i <= r; ++i) {
        cout << 0 << " " << i << " " << 1 << " " << i;
        break;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    n = 30;
    int l = 1, r = 1e9 + 1;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(0 , m);
        if (nc == cl)
            l = m;
        else
            r = m + 1;
    }
    //cout << r - l << endl;
    for (int i = l + 1; i < r; ++i) {
        cout << 0 << " " << i << " " << 1 << " " << i;
        break;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    //return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    cin >> n;
    int l = 0, r = 1e9;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(1 , m);
        if (nc == cl)
            l = m;
        else
            r = m;
    }
    //cout << r - l << endl;
    cout << 0 << " " << l << " " << 2 << " " << r;
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
#define sz(x) ((int)(x).size())
#define pb push_back
#define mp make_pair
#define pii pair<ll, ll>
#define pip pair<ll, pii>
#define int long long

bool ask(int x, int y) {
    cout << x << " " << y <<endl;
    string s;
    //return rand() % 2;
    cin >> s;
    return (s == "black");
}

signed main() {
    srand(time(0));
    int n;
    n = 30;
    int l = 0, r = 1e9;
    int cl = ask(0, 0);
    for (int i = 1; i < n; ++i) {
        int m = (l + r) / 2;
        int nc = ask(0 , m);
        if (nc == cl)
            l = m;
        else
            r = m;
    }
    for (int i = l + 1; i <= r; ++i) {
        cout << 0 << " " << i << " " << 1 << " " << i;
        break;
    }
    return 0;
}


// input/output
#include <iostream>
// c library
#include <assert.h>
#include <math.h>
#include <time.h>
// containers
#include <deque>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
// other
#include <algorithm>
#include <bitset>
#include <functional>
#include <iterator>
#include <numeric>
#include <string>
#include <tuple>
#include <utility>

#include <cstdio>
#include <cstring>

using namespace std;

// constants
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007

// functions
#define watch(x) cout << (#x) << ": " << (x) << endl
#define mod(x, m) ((((x) % (m)) + (m)) % (m))

int n;
string act;

int main(){

    //ios::sync_with_stdio(false); // make cin and cout as fast as printf/scanf
    cin >> n;
    int xl = 0;
    int xr = 1000000000;
    int y = 1;
    bool f = true;//white on 0 0
    cout << 0 << " " << y << endl;
    fflush(stdout);
    cin >> act;
    if(act == "black"){
        f = false;
    }
    for(int i = 2; i <= n; i++){
        cout << (xl+xr)/2 << " " << y << endl;
        fflush(stdout);
        cin >> act;
        if((act == "white" && f) || (act == "black" && !f)){
            xl = (xl+xr)/2;
        }else{
            xr = (xl + xr)/2;
        }
    }
    cout << (xl+xr)/2 << " " << 2 << " " <<  ((xl+xr)/2+1) << " " << 0 << endl;

    return 0;
}


// input/output
#include <iostream>
// c library
#include <assert.h>
#include <math.h>
#include <time.h>
// containers
#include <deque>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
// other
#include <algorithm>
#include <bitset>
#include <functional>
#include <iterator>
#include <numeric>
#include <string>
#include <tuple>
#include <utility>

#include <cstdio>
#include <cstring>

using namespace std;

// constants
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007

// functions
#define watch(x) cout << (#x) << ": " << (x) << endl
#define mod(x, m) ((((x) % (m)) + (m)) % (m))

int n;
string act;

int main(){

    //ios::sync_with_stdio(false); // make cin and cout as fast as printf/scanf
    cin >> n;
    int xl = 0;
    int xr = 1000000000;
    int y = 0;
    bool f = true;//white on 0 0
    cout << 0 << " " << y << endl;
    fflush(stdout);
    cin >> act;
    if(act == "black"){
        f = false;
    }
    for(int i = 2; i <= n; i++){
        cout << (xl+xr)/2 << " " << y << endl;
        fflush(stdout);
        cin >> act;
        if(!(act == "white" && f) || (act == "black" && !f)){
            xr = (xl+xr)/2;
        }else{
            xl = (xl + xr)/2;
        }
    }
    cout << (xl+xr)/2 << " " << 1 << " " <<  ((xl+xr)/2+1) << " " << -1 << endl;

    return 0;
}


// input/output
#include <iostream>
// c library
#include <assert.h>
#include <math.h>
#include <time.h>
// containers
#include <deque>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
// other
#include <algorithm>
#include <bitset>
#include <functional>
#include <iterator>
#include <numeric>
#include <string>
#include <tuple>
#include <utility>

#include <cstdio>
#include <cstring>

using namespace std;

// constants
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007

// functions
#define watch(x) cout << (#x) << ": " << (x) << endl
#define mod(x, m) ((((x) % (m)) + (m)) % (m))

int n;
string act;

int main(){

    //ios::sync_with_stdio(false); // make cin and cout as fast as printf/scanf
    cin >> n;
    int xl = 0;
    int xr = 1000000000;
    int y = 0;
    bool f = true;//white on 0 0
    cout << 0 << " " << y << endl;
    fflush(stdout);
    cin >> act;
    if(act == "black"){
        f = false;
    }
    for(int i = 2; i <= n; i++){
        cout << (xl+xr)/2 << " " << y << endl;
        fflush(stdout);
        cin >> act;
        if((act == "white" && !f) || (act == "black" && !f)){
            xr = (xl+xr)/2;
        }else{
            xl = (xl + xr)/2;
        }
    }
    cout << (xl+xr)/2 << " " << 1 << " " <<  ((xl+xr)/2+1) << " " << -1 << endl;

    return 0;
}


// input/output
#include <iostream>
// c library
#include <assert.h>
#include <math.h>
#include <time.h>
// containers
#include <deque>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
// other
#include <algorithm>
#include <bitset>
#include <functional>
#include <iterator>
#include <numeric>
#include <string>
#include <tuple>
#include <utility>

#include <cstdio>
#include <cstring>

using namespace std;

// constants
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007

// functions
#define watch(x) cout << (#x) << ": " << (x) << endl
#define mod(x, m) ((((x) % (m)) + (m)) % (m))

int n;
string act;

int main(){

    //ios::sync_with_stdio(false); // make cin and cout as fast as printf/scanf
    cin >> n;
    int xl = 0;
    int xr = 1000000000;
    int y = 0;
    bool f = true;//white on 0 0
    cout << 0 << " " << y << endl;
    fflush(stdout);
    cin >> act;
    if(act == "black"){
        f = false;
    }
    for(int i = 2; i <= n; i++){
        cout << (xl+xr)/2 << " " << y << endl;
        fflush(stdout);
        cin >> act;
        if((act == "white" && f) || (act == "black" && !f)){
            xr = (xl+xr)/2;
        }else{
            xl = (xl + xr)/2;
        }
    }
    cout << (xl+xr)/2 << " " << 1 << " " <<  ((xl+xr)/2+1) << " " << -1 << endl;

    return 0;
}


// input/output
#include <iostream>
// c library
#include <assert.h>
#include <math.h>
#include <time.h>
// containers
#include <deque>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
// other
#include <algorithm>
#include <bitset>
#include <functional>
#include <iterator>
#include <numeric>
#include <string>
#include <tuple>
#include <utility>

#include <cstdio>
#include <cstring>

using namespace std;

// constants
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007

// functions
#define watch(x) cout << (#x) << ": " << (x) << endl
#define mod(x, m) ((((x) % (m)) + (m)) % (m))

int n;
string act;

int main(){

    //ios::sync_with_stdio(false); // make cin and cout as fast as printf/scanf
    cin >> n;
    int xl = 0;
    int xr = 1000000000;
    int y = 1;
    bool f = true;//white on 0 0
    cout << 0 << " " << y << endl;
    fflush(stdout);
    cin >> act;
    if(act == "black"){
        f = false;
    }
    for(int i = 2; i <= n; i++){
        cout << (xl+xr)/2 << " " << y << endl;
        fflush(stdout);
        cin >> act;
        if(!(act == "white" && f) || (act == "black" && !f)){
            xr = (xl+xr)/2;
        }else{
            xl = (xl + xr)/2;
        }
    }
    cout << (xl+xr)/2 << " " << 2 << " " <<  ((xl+xr)/2+1) << " " << 0 << endl;

    return 0;
}


// input/output
#include <iostream>
// c library
#include <assert.h>
#include <math.h>
#include <time.h>
// containers
#include <deque>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <vector>
// other
#include <algorithm>
#include <bitset>
#include <functional>
#include <iterator>
#include <numeric>
#include <string>
#include <tuple>
#include <utility>

#include <cstdio>
#include <cstring>

using namespace std;

// constants
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007

// functions
#define watch(x) cout << (#x) << ": " << (x) << endl
#define mod(x, m) ((((x) % (m)) + (m)) % (m))

int n;
string act;

int main(){

    //ios::sync_with_stdio(false); // make cin and cout as fast as printf/scanf
    cin >> n;
    int xl = 0;
    int xr = 1000000000;
    int y = 1;
    bool f = true;//white on 0 0
    cout << 0 << " " << y << endl;
    fflush(stdout);
    cin >> act;
    if(act == "black"){
        f = false;
    }
    for(int i = 2; i <= n; i++){
        cout << (xl+xr)/2 << " " << y << endl;
        fflush(stdout);
        cin >> act;
        if((act == "white" && f) || (act == "black" && !f)){
            xr = (xl+xr)/2;
        }else{
            xl = (xl + xr)/2;
        }
    }
    cout << (xl+xr)/2 << " " << 2 << " " <<  ((xl+xr)/2+1) << " " << 0 << endl;

    return 0;
}


#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define pi pair<int,int>
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define sz(x) ((int)x.size())
#define ln(x) ((int)x.length())
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define endl '\n'
#define dbg(x) cout << #x << ": " << x << endl
#define clr(x,v) memset(x, v, sizeof(x))
#define dblout(x) cout << setprecision(x) << fixed;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
const double eps = 1e-9;
const double PI = acos(-1.0);
const ll mod = 1e9 + 7;
const int MAXN = 1e6 + 5;

void cp()
{
    int n;
    cin >> n;
    ll l = 1, r = 1e9;
    string bw;

    cout << "0 1" << endl;
    cout.flush();
    cin >> bw;

    string match = bw;
    n--;
    while(n--)
    {
        ll line = (l + r) >> 1;
        // guess (line, 1)
        cout << line << " " << 1 << endl;
        cout.flush();
        cin >> bw;
        if(bw == match) // go right
            l = line + 1;
        else
            r = line - 1;
    }
    ll line = (l + r) >> 1;
    cout << line << " " << 0 << " " << line << " " << 2 << endl;
}

int main()
{
    FASTIO;
    int t;
    t = 1;
    // cin >> t;
    while(t--)
    {
        cp();
    }
    return 0;
}


#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define pi pair<int,int>
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define sz(x) ((int)x.size())
#define ln(x) ((int)x.length())
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define endl '\n'
#define dbg(x) cout << #x << ": " << x << endl
#define clr(x,v) memset(x, v, sizeof(x))
#define dblout(x) cout << setprecision(x) << fixed;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
const double eps = 1e-9;
const double PI = acos(-1.0);
const ll mod = 1e9 + 7;
const int MAXN = 1e6 + 5;

void cp()
{
    int n;
    cin >> n;
    ll l = 0, r = 1e9;
    string bw;

    cout << "0 1" << endl;
    cout.flush();
    cin >> bw;

    string match = bw;
    n--;
    while(n--)
    {
        ll line = (l + r) >> 1;
        // guess (line, 1)
        cout << line << " " << 1 << endl;
        cout.flush();
        cin >> bw;
        if(bw == "black") // go right
            l = line;
        else
            r = line;
    }
    ll line = (l + r) >> 1;
    cout << line << " " << 0 << " " << line << " " << 2 << endl;
}

int main()
{
    FASTIO;
    int t;
    t = 1;
    // cin >> t;
    while(t--)
    {
        cp();
    }
    return 0;
}


#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define pi pair<int,int>
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define sz(x) ((int)x.size())
#define ln(x) ((int)x.length())
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define endl '\n'
#define dbg(x) cout << #x << ": " << x << endl
#define clr(x,v) memset(x, v, sizeof(x))
#define dblout(x) cout << setprecision(x) << fixed;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
const double eps = 1e-9;
const double PI = acos(-1.0);
const ll mod = 1e9 + 7;
const int MAXN = 1e6 + 5;

void cp()
{
    int n;
    cin >> n;
    ll l = 1, r = 1e9;
    string bw;

    cout << "0 1" << endl;
    cout.flush();
    cin >> bw;
    string match = bw;
    n--;

    while(n--)
    {
        ll line = (l + r) >> 1;
        // guess (line, 1)
        cout << line << " " << 1 << endl;
        cout.flush();
        cin >> bw;
        if(bw == match) // go right
            l = line;
        else
            r = line;
    }
    ll line = (l + r) >> 1;
    cout << line << " " << 0 << " " << line << " " << 2 << endl;
}

int main()
{
    FASTIO;
    int t;
    t = 1;
    // cin >> t;
    while(t--)
    {
        cp();
    }
    return 0;
}


#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define pi pair<int,int>
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define sz(x) ((int)x.size())
#define ln(x) ((int)x.length())
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define endl '\n'
#define dbg(x) cout << #x << ": " << x << endl
#define clr(x,v) memset(x, v, sizeof(x))
#define dblout(x) cout << setprecision(x) << fixed;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
const double eps = 1e-9;
const double PI = acos(-1.0);
const ll mod = 1e9 + 7;
const int MAXN = 1e6 + 5;

void cp()
{
    int n;
    cin >> n;
    ll l = 1, r = 1e9;
    string bw;

    cout << "0 1" << endl;
    cout.flush();
    cin >> bw;
    string match = bw;
    n--;

    while(n--)
    {
        ll line = (l + r) >> 1;
        // guess (line, 1)
        cout << line << " " << 1 << endl;
        cout.flush();
        cin >> bw;
        if(bw == match) // go right
            l = line + 1;
        else
            r = line - 1;
    }
    ll line = (l + r) >> 1;
    cout << line << " " << 0 << " " << line << " " << 2 << endl;
}

int main()
{
    FASTIO;
    int t;
    t = 1;
    // cin >> t;
    while(t--)
    {
        cp();
    }
    return 0;
}


#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define pi pair<int,int>
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define sz(x) ((int)x.size())
#define ln(x) ((int)x.length())
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define endl '\n'
#define dbg(x) cout << #x << ": " << x << endl
#define clr(x,v) memset(x, v, sizeof(x))
#define dblout(x) cout << setprecision(x) << fixed;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
const double eps = 1e-9;
const double PI = acos(-1.0);
const ll mod = 1e9 + 7;
const int MAXN = 1e6 + 5;

void cp()
{
    int n;
    cin >> n;
    ll l = 1, r = 1e9;
    string bw;

    cout << "0 1" << endl;
    cout.flush();
    cin >> bw;
    string match = bw;
    n--;

    while(n > 1)
    {
        ll line = (l + r) >> 1;
        // guess (line, 1)
        cout << line << " " << 1 << endl;
        cout.flush();
        cin >> bw;
        if(bw == match) // go right
            l = line + 1;
        else
            r = line - 1;
        n--;
    }
    ll line = (l + r) >> 1;
    ll a, b, c, d;
    a = line, b  = 0, c = line, d = 2;
    if(n == 1)
    {
        // guess (line, 2)
        cout << line << " " << 2 << endl;
        cout.flush();
        cin >> bw;
        if(bw == match)
            a--, c++;
        else
            a++, c--;
    }
    cout << a << " " << b << " " << c << " " << d << endl;
}

int main()
{
    FASTIO;
    int t;
    t = 1;
    // cin >> t;
    while(t--)
    {
        cp();
    }
    return 0;
}


#include<bits/stdc++.h>
#define ll long long int
#define ld long double
#define pi pair<int,int>
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define sz(x) ((int)x.size())
#define ln(x) ((int)x.length())
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define endl '\n'
#define dbg(x) cout << #x << ": " << x << endl
#define clr(x,v) memset(x, v, sizeof(x))
#define dblout(x) cout << setprecision(x) << fixed;
#define FASTIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
const double eps = 1e-9;
const double PI = acos(-1.0);
const ll mod = 1e9 + 7;
const int MAXN = 1e6 + 5;

void cp()
{
    int n;
    cin >> n;
    ll l = 0, r = 1e9;
    string bw;

    cout << "0 1" << endl;
    cout.flush();
    cin >> bw;

    string match = bw;
    n--;
    while(n--)
    {
        ll line = (l + r) >> 1;
        // guess (line, 1)
        cout << line << " " << 1 << endl;
        cout.flush();
        cin >> bw;
        if(bw == match) // go right
            l = line;
        else
            r = line;
    }
    ll line = (l + r) >> 1;
    cout << line << " " << 0 << " " << line << " " << 2 << endl;
}

int main()
{
    FASTIO;
    int t;
    t = 1;
    // cin >> t;
    while(t--)
    {
        cp();
    }
    return 0;
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 0, y = 1e9;
char s[N];
bool bl;

int main()
{
	// fast_io();
	// freopen("inp.in", "r", stdin);

	scanf("%d", &n);

	printf("%d 1\n", x);
	fflush(stdin);

	scanf(" %s", s);

	if(s[0] == 'b')
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		printf("%d 1\n", mid);
		fflush(stdin);
		scanf(" %s", s);

		if(bl)
			if(s[0] == 'b')
				x = mid;
			else
				y = mid;
		else
			if(s[0] == 'b')
				y = mid;
			else
				x = mid;
	}

	printf("%d 0 %d 2\n", mid, mid);
	fflush(stdin);
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 0, y = 1e9;
string s;
bool bl;

int main()
{
	fast_io();
	// freopen("inp.in", "r", stdin);

	cin >> n;

	cout << x << spc << 0 << endl;
	fflush(stdin);
	cin >> s;
	if(s == "black")
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		cout << mid << spc << 0 << endl;
		fflush(stdin);
		cin >> s;

		if(bl)
			if(s == "black")
				x = mid;
			else
				y = mid;
		else
			if(s == "black")
				y = mid;
			else
				x = mid;
	}
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 1, y = 1e9;
char s[N];
bool bl;

int main()
{
	// fast_io();
	// freopen("inp.in", "r", stdin);

	scanf("%d", &n);

	printf("%d 1\n", x);
	fflush(stdout);

	scanf(" %s", s);

	if(s[0] == 'b')
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		printf("%d 1\n", mid);
		fflush(stdout);
		scanf(" %s", s);

		if(bl)
			if(s[0] == 'b')
				x = mid;
			else
				y = mid;
		else
			if(s[0] == 'b')
				y = mid;
			else
				x = mid;
	}

	printf("%d 0 %d 2\n", mid, mid);
	fflush(stdout);
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 0, y = 1e9;
string s;
bool bl;

int main()
{
	fast_io();
	// freopen("inp.in", "r", stdin);

	cin >> n;

	cout << x << spc << 0 << endl;
	cin >> s;
	if(s == "black")
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		cout << mid << spc << 0 << endl;
		cin >> s;

		if(bl)
			if(s == "black")
				x = mid;
			else
				y = mid;
		else
			if(s == "black")
				y = mid;
			else
				x = mid;
	}
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 0, y = 1e9;
char s[N];
bool bl;

int main()
{
	// fast_io();
	// freopen("inp.in", "r", stdin);

	scanf("%d", &n);

	printf("%d 1\n", x);
// 	fflush(stdin);

	scanf(" %s", s);

	if(s[0] == 'b')
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		printf("%d 1\n", mid);
// 		fflush(stdin);
		scanf(" %s", s);

		if(bl)
			if(s[0] == 'b')
				x = mid;
			else
				y = mid;
		else
			if(s[0] == 'b')
				y = mid;
			else
				x = mid;
	}

	printf("%d 0 %d 2\n", mid, mid);
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 0, y = 1e9;
char s[N];
bool bl;

int main()
{
	// fast_io();
	// freopen("inp.in", "r", stdin);

	scanf("%d", &n);

	printf("%d 1\n", x);
	fflush(stdout);

	scanf(" %s", s);

	if(s[0] == 'b')
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		printf("%d 1\n", mid);
		fflush(stdout);
		scanf(" %s", s);

		if(bl)
			if(s[0] == 'b')
				x = mid;
			else
				y = mid;
		else
			if(s[0] == 'b')
				y = mid;
			else
				x = mid;
	}

	printf("%d 0 %d 2\n", mid, mid);
	fflush(stdout);
}


#include <bits/stdc++.h>
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define mid ((x + y) / 2)
#define left (ind * 2)
#define right (ind * 2 + 1)
#define mp make_pair
#define timer printf("\n%lf seconds.\n", (double)clock() / CLOCKS_PER_SEC)
#define curtime ((double)clock() / CLOCKS_PER_SEC)
// #define endl "\n"
#define spc " "
#define d1(x) cerr<<#x<<":"<<x<<endl
#define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl
#define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl
#define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;

typedef long long int lli;
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<double, double> dd;

const int N = (int)(1e6 + 5);
const int LOG = (int)(20);

int n, x = 0, y = 1e9;
char s[N];
bool bl;

int main()
{
	// fast_io();
	// freopen("inp.in", "r", stdin);

	scanf("%d", &n);

	printf("%d 1\n", x);
	fflush(stdout);

	scanf(" %s", s);

	if(s[0] == 'b')
		bl = true;

	for(int i = 1; i <= n - 1; i++)
	{
		printf("%d 1\n", mid);
		fflush(stdout);
		scanf(" %s", s);

		if(bl)
		{
			if(s[0] == 'b')
				x = mid + 1;
			else
				y = mid - 1;
		}
		else
		{
			if(s[0] == 'b')
				y = mid - 1;
			else
				x = mid + 1;
		}
	}

	printf("%d 0 %d 2\n", mid, mid);
	fflush(stdout);
}


#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

#define int                     long long int
#define ld                      long double
#define pb                      push_back
#define MOD                     1000000007
#define inf                     3e18
#define vi                      vector<int>
#define vld                     vector<ld>
#define pii                     pair<int,int>
#define mii                     map<int,int>
#define fi                      first
#define se                      second
#define fastIO                  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define db(...)                 __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) { cerr << " "<< name << " : " << arg1 <<'\n'; }
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
    const char* comma = strchr(names + 1, ',');
    cerr.write(names, comma - names) << " : " << arg1 << " | "; __f(comma + 1, args...);
}

typedef tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> pbds;
		//order_of_key (k) : Number of items strictly smaller than k .
		//find_by_order(k) : K-th element in a set (counting from zero) (returns an iterator)

void inp_out()
{
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	freopen("debug.txt", "w", stderr);
	#endif
}

int32_t main()
{
	fastIO
	inp_out();
	int t;
	cin >> t;
	while(t-- )
	{
		int n, k;
		cin >> n >> k;

		for(int i = k; i * i < n * n; i += k)
		{
			int x_moves = i / k;

			int y_moves = ((n * n) - (i * i));

			y_moves = sqrt(y_moves);

			y_moves /= k;

		 // 	db(i, x_moves, y_moves);
			int total = x_moves + y_moves;

			if(x_moves == total / 2)
			{
				if(total & 1)
				{
					cout << "Ashish\n";
					goto x;
				}
			}
		}

		cout << "Utkarsh\n";
		x : ;

	}
	return 0;
}


#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

#define int                     long long int
#define ld                      long double
#define pb                      push_back
#define MOD                     1000000007
#define inf                     3e18
#define vi                      vector<int>
#define vld                     vector<ld>
#define pii                     pair<int,int>
#define mii                     map<int,int>
#define fi                      first
#define se                      second
#define fastIO                  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define db(...)                 __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) { cerr << " "<< name << " : " << arg1 <<'\n'; }
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
    const char* comma = strchr(names + 1, ',');
    cerr.write(names, comma - names) << " : " << arg1 << " | "; __f(comma + 1, args...);
}

typedef tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> pbds;
		//order_of_key (k) : Number of items strictly smaller than k .
		//find_by_order(k) : K-th element in a set (counting from zero) (returns an iterator)

void inp_out()
{
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	freopen("debug.txt", "w", stderr);
	#endif
}

int sqrtb(int val)
{
	int low = 0, high = val, ans;
	while(low <= high)
	{
		int mid = (low + high) / 2;
		if(mid * mid <= val)
		{
			ans = mid;
			low = mid + 1;
		}
		else
			high = mid - 1;
	}
	return ans;
}

int32_t main()
{
	fastIO
	inp_out();
	int t;
	cin >> t;
	while(t-- )
	{
		int n, k;
		cin >> n >> k;

		for(int i = 0; i * i <= n * n; i += k)
		{
			int x_moves = i / k;

			int y_moves = ((n * n) - (i * i));

			y_moves = sqrtb(y_moves);

			y_moves /= k;

			int tt = x_moves + 1;
			tt *= k;

			int ttt = y_moves;
			ttt *= k;

			if((tt * tt + ttt * ttt) <= n * n)
				++ x_moves;

			int total = x_moves + y_moves;

		 //  	db(i, x_moves, y_moves);
			if(x_moves == (total / 2))
			{
				if(total & 1)
				{
					cout << "Ashish\n";
					goto x;
				}
			}

			if(y_moves == (total / 2))
			{
				if(total & 1)
				{
					cout << "Ashish\n";
					goto x;
				}
			}
		}

		cout << "Utkarsh\n";
		x : ;

	}
	return 0;
}


#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

#define int                     long long int
#define ld                      long double
#define pb                      push_back
#define MOD                     1000000007
#define inf                     3e18
#define vi                      vector<int>
#define vld                     vector<ld>
#define pii                     pair<int,int>
#define mii                     map<int,int>
#define fi                      first
#define se                      second
#define fastIO                  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define db(...)                 __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) { cerr << " "<< name << " : " << arg1 <<'\n'; }
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
    const char* comma = strchr(names + 1, ',');
    cerr.write(names, comma - names) << " : " << arg1 << " | "; __f(comma + 1, args...);
}

typedef tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> pbds;
		//order_of_key (k) : Number of items strictly smaller than k .
		//find_by_order(k) : K-th element in a set (counting from zero) (returns an iterator)

void inp_out()
{
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	freopen("debug.txt", "w", stderr);
	#endif
}

int sqrtb(int val)
{
	int low = 0, high = val, ans;
	while(low <= high)
	{
		int mid = (low + high) / 2;
		if(mid * mid <= val)
		{
			ans = mid;
			low = mid + 1;
		}
		else
			high = mid - 1;
	}
	return ans;
}

int32_t main()
{
	fastIO
	inp_out();
	int t;
	cin >> t;
	while(t-- )
	{
		int n, k;
		cin >> n >> k;

		for(int i = 0; i * i <= n * n; i += k)
		{
			int x_moves = i / k;

			int y_moves = ((n * n) - (i * i));

			y_moves = sqrtb(y_moves);

			y_moves /= k;

			int tt = x_moves + 1;
			tt *= k;

			int ttt = y_moves;
			ttt *= k;

			if(((tt * tt) + (ttt * ttt)) <= (n * n))
				++ x_moves;

			tt = x_moves;
			tt *= k;

			ttt = y_moves + 1;
			ttt *= k;

			if(((tt * tt) + (ttt * ttt)) <= (n * n))
				++ y_moves;

			int total = x_moves + y_moves;

			if(x_moves == (total / 2))
			{
				if(total & 1)
				{
					cout << "Ashish\n";
					goto x;
				}
			}

			if(y_moves == (total / 2))
			{
				if(total & 1)
				{
					cout << "Ashish\n";
					goto x;
				}
			}
		}

		cout << "Utkarsh\n";
		x : ;

	}
	return 0;
}


#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

#define int                     long long int
#define ld                      long double
#define pb                      push_back
#define MOD                     1000000007
#define inf                     3e18
#define vi                      vector<int>
#define vld                     vector<ld>
#define pii                     pair<int,int>
#define mii                     map<int,int>
#define fi                      first
#define se                      second
#define fastIO                  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define db(...)                 __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) { cerr << " "<< name << " : " << arg1 <<'\n'; }
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
    const char* comma = strchr(names + 1, ',');
    cerr.write(names, comma - names) << " : " << arg1 << " | "; __f(comma + 1, args...);
}

typedef tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> pbds;
		//order_of_key (k) : Number of items strictly smaller than k .
		//find_by_order(k) : K-th element in a set (counting from zero) (returns an iterator)

void inp_out()
{
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	freopen("debug.txt", "w", stderr);
	#endif
}

int sqrtb(int val)
{
	int low = 0, high = 1e6, ans = 0;
	while(low <= high)
	{
		int mid = (low + high) / 2;
		if(mid * mid <= val)
		{
			ans = mid;
			low = mid + 1;
		}
		else
			high = mid - 1;
	}
	return ans;
}

int32_t main()
{
	fastIO
	inp_out();
	int t;
	cin >> t;
	while(t-- )
	{
		int n, k;
		cin >> n >> k;

		int x_moves = (n * n) / 2;
		x_moves = sqrtb(x_moves);

		int rem = x_moves % k;

		x_moves -= rem;

		int y_moves = (n * n)  -  (x_moves * x_moves);

		y_moves = sqrtb(y_moves);

		rem = y_moves % k;
		y_moves -= rem;

		int total = 0;
		total += x_moves;
		total += y_moves;

		total /= k;

		if(total & 1)
			cout << "Ashish\n";

		else cout << "Utkarsh\n";
		x : ;

	}
	return 0;
}


#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

#define int                     long long int
#define ld                      long double
#define pb                      push_back
#define MOD                     1000000007
#define inf                     3e18
#define vi                      vector<int>
#define vld                     vector<ld>
#define pii                     pair<int,int>
#define mii                     map<int,int>
#define fi                      first
#define se                      second
#define fastIO                  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define db(...)                 __f(#__VA_ARGS__, __VA_ARGS__)
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) { cerr << " "<< name << " : " << arg1 <<'\n'; }
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
    const char* comma = strchr(names + 1, ',');
    cerr.write(names, comma - names) << " : " << arg1 << " | "; __f(comma + 1, args...);
}

typedef tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> pbds;
		//order_of_key (k) : Number of items strictly smaller than k .
		//find_by_order(k) : K-th element in a set (counting from zero) (returns an iterator)

void inp_out()
{
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	freopen("debug.txt", "w", stderr);
	#endif
}

int sqrtb(int val)
{
	int low = 0, high = val, ans;
	while(low <= high)
	{
		int mid = (low + high) / 2;
		if(mid * mid <= val)
		{
			ans = mid;
			low = mid + 1;
		}
		else
			high = mid - 1;
	}
	return ans;
}

int32_t main()
{
	fastIO
	inp_out();
	int t;
	cin >> t;
	while(t-- )
	{
		int n, k;
		cin >> n >> k;

		int x_moves = (n * n) / 2;
		x_moves = sqrt(x_moves);

		int rem = x_moves % k;

		x_moves -= rem;

	 // 	db(x_moves);

		int y_moves = (n * n)  -  (x_moves * x_moves);

		 // db(y_moves, n * n);
		y_moves = sqrt(y_moves);

	 // 	db(y_moves);

		rem = y_moves % k;
		y_moves -= rem;

		int total = 0;
		total += x_moves;
		total += y_moves;

		total /= k;

	 // 	db(x_moves, y_moves);
		if(total & 1)
			cout << "Ashish\n";

		else cout << "Utkarsh\n";
		x : ;

	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
#define tezi ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define all(c) c.begin(),c.end()
#define ll long long
#define ull unsigned long long
#define traverse(c,it) for(auto it=c.begin();it!=c.end();it++)
#define lowerb(v,a) lower_bound(v.begin(),v.end(),a)
#define lowerbarr(v,n,a) lower_bound(v,v+n,a)
#define upperb(v,a) upper_bound(v.begin(),v.end(),a)
#define upperbarr(v,n,a) upper_bound(v,v+n,a)
#define maxval(v) max_element(v.begin(),v.end())
#define maxarr(v,n) max_element(v,v+n)
#define minval(v) min_element(v.begin(),v.end())
#define minarr(v,n) min_element(v,v+n)
#define sz(a) (ll)a.size()
#define fr first
#define se second
#define PI 3.1415926536
#define vi vector<int>
#define pii pair<int,int>
#define mem0(v) memset(v,0,sizeof(v))
#define memf(v) memset(v,false,sizeof(v))
#define memt(v) memset(v,true,sizeof(v))
#define mem(v,a) memset(v,a,sizeof(v))
#define npos string::npos
#define MAX 1000000000
#define MOD 1000000007
#define precision(x) setprecision(x)
#define mp make_pair
#define inf (ll)1e6

                   /**************SIEVE****************/

/*bool prime[MAX+1];
vector<ll> v;
void sieve(){
    // Create a boolean array "prime[0..n]" and initialize
    // all entries it as true. A value in prime[i] will
    // finally be false if i is Not a prime, else true.

    memset(prime, true, sizeof(prime));

    for (long p=2; p*p<=MAX; p++)
    {
        // If prime[p] is not changed, then it is a prime
        if (prime[p] == true)
        {
            // Update all multiples of p greater than or
            // equal to the square of it
            // numbers which are multiple of p and are
            // less than p^2 are already been marked.
            for (long i=p*p; i<=MAX; i += p)
                prime[i] = false;
        }
    }

}

                                        /**************gcd****************/

ll gcd(ll a,ll b)
{ if(a>b)swap(a,b);
    if (a == 0)
        return b;
 return gcd(b%a, a);
}

                                         /**************POWER****************/
 ll binpow(ll a, ll b) {
    if (b == 0)
        return 1;
    ll res = binpow(a, b / 2)%MOD;
    if (b % 2)
        return (((ll)res * (ll)res %MOD)* (ll)a)%MOD;
    else
        return ((ll)res * (ll)res)%MOD;
}

                                     /**************MAIn****************/

void solve()
{
 ll d,k;
 cin>>d>>k;
 bool f=0;
 for(int x=k;x<=d;x+=k)
 {
 ll y=d*d-x*x;
 double temp=sqrt(y);
 y=floor(temp);
 y=y-y%k;

 if(y==x-k||y==x+k)
 {
  f=1;
 }
 }
 if(f)cout<<"Ashish\n";
 else cout<<"Utkarsh\n";

}

int main()
{   tezi
   #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("put.txt","w",stdout);
  #endif

  int T=1;
  cin>>T;

  for(int i=1;i<=T;i++)
   {

    solve();

   }
  cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}


#include<bits/stdc++.h>
using namespace std;
#define tezi ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define all(c) c.begin(),c.end()
#define ll long long
#define ull unsigned long long
#define traverse(c,it) for(auto it=c.begin();it!=c.end();it++)
#define lowerb(v,a) lower_bound(v.begin(),v.end(),a)
#define lowerbarr(v,n,a) lower_bound(v,v+n,a)
#define upperb(v,a) upper_bound(v.begin(),v.end(),a)
#define upperbarr(v,n,a) upper_bound(v,v+n,a)
#define maxval(v) max_element(v.begin(),v.end())
#define maxarr(v,n) max_element(v,v+n)
#define minval(v) min_element(v.begin(),v.end())
#define minarr(v,n) min_element(v,v+n)
#define sz(a) (ll)a.size()
#define fr first
#define se second
#define PI 3.1415926536
#define vi vector<int>
#define pii pair<int,int>
#define mem0(v) memset(v,0,sizeof(v))
#define memf(v) memset(v,false,sizeof(v))
#define memt(v) memset(v,true,sizeof(v))
#define mem(v,a) memset(v,a,sizeof(v))
#define npos string::npos
#define MAX 1000000000
#define MOD 1000000007
#define precision(x) setprecision(x)
#define mp make_pair
#define inf (ll)1e6

                   /**************SIEVE****************/

/*bool prime[MAX+1];
vector<ll> v;
void sieve(){
    // Create a boolean array "prime[0..n]" and initialize
    // all entries it as true. A value in prime[i] will
    // finally be false if i is Not a prime, else true.

    memset(prime, true, sizeof(prime));

    for (long p=2; p*p<=MAX; p++)
    {
        // If prime[p] is not changed, then it is a prime
        if (prime[p] == true)
        {
            // Update all multiples of p greater than or
            // equal to the square of it
            // numbers which are multiple of p and are
            // less than p^2 are already been marked.
            for (long i=p*p; i<=MAX; i += p)
                prime[i] = false;
        }
    }

}

                                        /**************gcd****************/

ll gcd(ll a,ll b)
{ if(a>b)swap(a,b);
    if (a == 0)
        return b;
 return gcd(b%a, a);
}

                                         /**************POWER****************/
 ll binpow(ll a, ll b) {
    if (b == 0)
        return 1;
    ll res = binpow(a, b / 2)%MOD;
    if (b % 2)
        return (((ll)res * (ll)res %MOD)* (ll)a)%MOD;
    else
        return ((ll)res * (ll)res)%MOD;
}

                                     /**************MAIn****************/

ll floorSqrt(ll x)
{
    // Base cases
    if (x == 0 || x == 1)
       return x;

    // Do Binary Search for floor(sqrt(x))
    ll start = 1, end = x, ans;
    while (start <= end)
    {
        ll mid = (start + end) / 2;

        // If x is a perfect square
        if (mid*mid == x)
            return mid;

        // Since we need floor, we update answer when mid*mid is
        // smaller than x, and move closer to sqrt(x)
        if (mid*mid < x)
        {
            start = mid + 1;
            ans = mid;
        }
        else // If mid*mid is greater than x
            end = mid-1;
    }
    return ans;
}
void solve()
{

 ll d,k;
 cin>>d>>k;
 bool f=0,g=0;
 for(ll x=k;x<=d;x+=k)
 {
 ll y=d*d-x*x;
 y=floorSqrt(y);

 y=y-y%k;

 if(y==x-k)
 {//cout<<x<<" "<<y<<endl;
  f=1;
 }
 if(y==x)g=1;
 }
 //cout<<f<<" "<<g<<endl;
 if(f)cout<<"Ashish\n";
 else cout<<"Utkarsh\n";

}

int main()
{   tezi
   #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("put.txt","w",stdout);
  #endif

  int T=1;
  cin>>T;

  for(int i=1;i<=T;i++)
   {

    solve();

   }
  cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}


#include<bits/stdc++.h>
using namespace std;
#define tezi ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define all(c) c.begin(),c.end()
#define ll long long
#define ull unsigned long long
#define traverse(c,it) for(auto it=c.begin();it!=c.end();it++)
#define lowerb(v,a) lower_bound(v.begin(),v.end(),a)
#define lowerbarr(v,n,a) lower_bound(v,v+n,a)
#define upperb(v,a) upper_bound(v.begin(),v.end(),a)
#define upperbarr(v,n,a) upper_bound(v,v+n,a)
#define maxval(v) max_element(v.begin(),v.end())
#define maxarr(v,n) max_element(v,v+n)
#define minval(v) min_element(v.begin(),v.end())
#define minarr(v,n) min_element(v,v+n)
#define sz(a) (ll)a.size()
#define fr first
#define se second
#define PI 3.1415926536
#define vi vector<int>
#define pii pair<int,int>
#define mem0(v) memset(v,0,sizeof(v))
#define memf(v) memset(v,false,sizeof(v))
#define memt(v) memset(v,true,sizeof(v))
#define mem(v,a) memset(v,a,sizeof(v))
#define npos string::npos
#define MAX 1000000000
#define MOD 1000000007
#define precision(x) setprecision(x)
#define mp make_pair
#define inf (ll)1e6

                   /**************SIEVE****************/

/*bool prime[MAX+1];
vector<ll> v;
void sieve(){
    // Create a boolean array "prime[0..n]" and initialize
    // all entries it as true. A value in prime[i] will
    // finally be false if i is Not a prime, else true.

    memset(prime, true, sizeof(prime));

    for (long p=2; p*p<=MAX; p++)
    {
        // If prime[p] is not changed, then it is a prime
        if (prime[p] == true)
        {
            // Update all multiples of p greater than or
            // equal to the square of it
            // numbers which are multiple of p and are
            // less than p^2 are already been marked.
            for (long i=p*p; i<=MAX; i += p)
                prime[i] = false;
        }
    }

}

                                        /**************gcd****************/

ll gcd(ll a,ll b)
{ if(a>b)swap(a,b);
    if (a == 0)
        return b;
 return gcd(b%a, a);
}

                                         /**************POWER****************/
 ll binpow(ll a, ll b) {
    if (b == 0)
        return 1;
    ll res = binpow(a, b / 2)%MOD;
    if (b % 2)
        return (((ll)res * (ll)res %MOD)* (ll)a)%MOD;
    else
        return ((ll)res * (ll)res)%MOD;
}

                                     /**************MAIn****************/

ll floorSqrt(ll x)
{
    // Base cases
    if (x == 0 || x == 1)
       return x;

    // Do Binary Search for floor(sqrt(x))
    ll start = 1, end = x, ans;
    while (start <= end)
    {
        ll mid = (start + end) / 2;

        // If x is a perfect square
        if (mid*mid == x)
            return mid;

        // Since we need floor, we update answer when mid*mid is
        // smaller than x, and move closer to sqrt(x)
        if (mid*mid < x)
        {
            start = mid + 1;
            ans = mid;
        }
        else // If mid*mid is greater than x
            end = mid-1;
    }
    return ans;
}
void solve()
{

 ll d,k;
 cin>>d>>k;
 bool f=0,g=0;
 for(ll x=k;x<=d;x+=k)
 {
 ll y=d*d-x*x;
 y=floorSqrt(y);

 y=y-y%k;

 if(y==x-k)
 {cout<<x<<" "<<y<<endl;
  f=1;
 }
 if(y==x)g=1;
 }
 //cout<<f<<" "<<g<<endl;
 if(f)cout<<"Ashish\n";
 else cout<<"Utkarsh\n";

}

int main()
{   tezi
   #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("put.txt","w",stdout);
  #endif

  int T=1;
  cin>>T;

  for(int i=1;i<=T;i++)
   {

    solve();

   }
  cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}


#include<bits/stdc++.h>
using namespace std;
#define tezi ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define all(c) c.begin(),c.end()
#define ll long long
#define ull unsigned long long
#define traverse(c,it) for(auto it=c.begin();it!=c.end();it++)
#define lowerb(v,a) lower_bound(v.begin(),v.end(),a)
#define lowerbarr(v,n,a) lower_bound(v,v+n,a)
#define upperb(v,a) upper_bound(v.begin(),v.end(),a)
#define upperbarr(v,n,a) upper_bound(v,v+n,a)
#define maxval(v) max_element(v.begin(),v.end())
#define maxarr(v,n) max_element(v,v+n)
#define minval(v) min_element(v.begin(),v.end())
#define minarr(v,n) min_element(v,v+n)
#define sz(a) (ll)a.size()
#define fr first
#define se second
#define PI 3.1415926536
#define vi vector<int>
#define pii pair<int,int>
#define mem0(v) memset(v,0,sizeof(v))
#define memf(v) memset(v,false,sizeof(v))
#define memt(v) memset(v,true,sizeof(v))
#define mem(v,a) memset(v,a,sizeof(v))
#define npos string::npos
#define MAX 1000000000
#define MOD 1000000007
#define precision(x) setprecision(x)
#define mp make_pair
#define inf (ll)1e6

                   /**************SIEVE****************/

/*bool prime[MAX+1];
vector<ll> v;
void sieve(){
    // Create a boolean array "prime[0..n]" and initialize
    // all entries it as true. A value in prime[i] will
    // finally be false if i is Not a prime, else true.

    memset(prime, true, sizeof(prime));

    for (long p=2; p*p<=MAX; p++)
    {
        // If prime[p] is not changed, then it is a prime
        if (prime[p] == true)
        {
            // Update all multiples of p greater than or
            // equal to the square of it
            // numbers which are multiple of p and are
            // less than p^2 are already been marked.
            for (long i=p*p; i<=MAX; i += p)
                prime[i] = false;
        }
    }

}

                                        /**************gcd****************/

ll gcd(ll a,ll b)
{ if(a>b)swap(a,b);
    if (a == 0)
        return b;
 return gcd(b%a, a);
}

                                         /**************POWER****************/
 ll binpow(ll a, ll b) {
    if (b == 0)
        return 1;
    ll res = binpow(a, b / 2)%MOD;
    if (b % 2)
        return (((ll)res * (ll)res %MOD)* (ll)a)%MOD;
    else
        return ((ll)res * (ll)res)%MOD;
}

                                     /**************MAIn****************/

void solve()
{
 ll d,k;
 cin>>d>>k;
 bool f=0;
 for(ll x=k;x<=d;x+=k)
 {
 ll y=d*d-x*x;
 long double temp=sqrt(y);
 y=floor(temp);
 y=y-y%k;

 if(y==x-k||y==x+k)
 {
  f=1;
 }
 }
 if(f)cout<<"Ashish\n";
 else cout<<"Utkarsh\n";

}

int main()
{   tezi
   #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("put.txt","w",stdout);
  #endif

  int T=1;
  cin>>T;

  for(int i=1;i<=T;i++)
   {

    solve();

   }
  cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}


#include<bits/stdc++.h>
using namespace std;
#define tezi ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define all(c) c.begin(),c.end()
#define ll long long
#define ull unsigned long long
#define traverse(c,it) for(auto it=c.begin();it!=c.end();it++)
#define lowerb(v,a) lower_bound(v.begin(),v.end(),a)
#define lowerbarr(v,n,a) lower_bound(v,v+n,a)
#define upperb(v,a) upper_bound(v.begin(),v.end(),a)
#define upperbarr(v,n,a) upper_bound(v,v+n,a)
#define maxval(v) max_element(v.begin(),v.end())
#define maxarr(v,n) max_element(v,v+n)
#define minval(v) min_element(v.begin(),v.end())
#define minarr(v,n) min_element(v,v+n)
#define sz(a) (ll)a.size()
#define fr first
#define se second
#define PI 3.1415926536
#define vi vector<int>
#define pii pair<int,int>
#define mem0(v) memset(v,0,sizeof(v))
#define memf(v) memset(v,false,sizeof(v))
#define memt(v) memset(v,true,sizeof(v))
#define mem(v,a) memset(v,a,sizeof(v))
#define npos string::npos
#define MAX 1000000000
#define MOD 1000000007
#define precision(x) setprecision(x)
#define mp make_pair
#define inf (ll)1e6

                   /**************SIEVE****************/

/*bool prime[MAX+1];
vector<ll> v;
void sieve(){
    // Create a boolean array "prime[0..n]" and initialize
    // all entries it as true. A value in prime[i] will
    // finally be false if i is Not a prime, else true.

    memset(prime, true, sizeof(prime));

    for (long p=2; p*p<=MAX; p++)
    {
        // If prime[p] is not changed, then it is a prime
        if (prime[p] == true)
        {
            // Update all multiples of p greater than or
            // equal to the square of it
            // numbers which are multiple of p and are
            // less than p^2 are already been marked.
            for (long i=p*p; i<=MAX; i += p)
                prime[i] = false;
        }
    }

}

                                        /**************gcd****************/

ll gcd(ll a,ll b)
{ if(a>b)swap(a,b);
    if (a == 0)
        return b;
 return gcd(b%a, a);
}

                                         /**************POWER****************/
 ll binpow(ll a, ll b) {
    if (b == 0)
        return 1;
    ll res = binpow(a, b / 2)%MOD;
    if (b % 2)
        return (((ll)res * (ll)res %MOD)* (ll)a)%MOD;
    else
        return ((ll)res * (ll)res)%MOD;
}

                                     /**************MAIn****************/

ll floorSqrt(ll x)
{
    // Base cases
    if (x == 0 || x == 1)
       return x;

    // Do Binary Search for floor(sqrt(x))
    ll start = 1, end = x, ans;
    while (start <= end)
    {
        ll mid = (start + end) / 2;

        // If x is a perfect square
        if (mid*mid == x)
            return mid;

        // Since we need floor, we update answer when mid*mid is
        // smaller than x, and move closer to sqrt(x)
        if (mid*mid < x)
        {
            start = mid + 1;
            ans = mid;
        }
        else // If mid*mid is greater than x
            end = mid-1;
    }
    return ans;
}
void solve()
{

 ll d,k;
 cin>>d>>k;
 bool f=0,g=0;
 for(ll x=k;x<=d;x+=k)
 {
 ll y=sqrt(d*d-x*x);

 y=y-y%k;

 if(y==x-k)
 {//cout<<x<<" "<<y<<endl;
  f=1;
 }
 if(y==x)g=1;
 }
 //cout<<f<<" "<<g<<endl;
 if(f)cout<<"Ashish\n";
 else cout<<"Utkarsh\n";

}

int main()
{   tezi
   #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("put.txt","w",stdout);
  #endif

  int T=1;
  cin>>T;

  for(int i=1;i<=T;i++)
   {

    solve();

   }
  cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
}


#include <iostream>
#include<math.h>
#include<algorithm>
#define lol int t;cin>>t;while(t--)
#define ll long long int
using namespace std;

int main()
{
	ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    lol
    {
    	ll d,k,p,c=0,q=0;
    	cin>>d>>k;p=k;c++;
    	while(1)
    	{
    		if(p<q&&(((p*p)+(q*q))<=(d*d)))
    		{
    			p+=k;c++;
    		}
    		else if(p>=q&&(((p*p)+(q*q))<=(d*d)))
    		{
    			q+=k;c++;
    		}
    		else break;
    	}
    	if(c%2==0)
    	cout<<"Ashish\n";
    	else
    	cout<<"Utkarsh\n";
    }
    return 0;
}


#include <iostream>
#include<math.h>
#include<algorithm>
#define lol int t;cin>>t;while(t--)
#define ll long long int
using namespace std;

int main()
{
	ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    lol
    {
    	ll d,k,p,q=0;
    	cin>>d>>k;
    	ll c=(d*d)/(k*k);
    	ll x=0;p=sqrt(c);
    	for(int i=p;i>=p/2;i--)
    	{
    		ll h=sqrt(c-(i*i));
    		x=max(x,i+h);
    	}
    	if(x%2)
    	cout<<"Ashish\n";
    	else
    	cout<<"Utkarsh\n";
    }
    return 0;
}


#include <iostream>
#include<math.h>
#include<algorithm>
#define lol int t;cin>>t;while(t--)
#define ll long long int
using namespace std;

int main()
{
	ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    lol
    {
    	ll d,k,p,q=0;
    	cin>>d>>k;
    	ll c=(d*d)/(k*k);
    	ll x=0;
    	for(int i=1;i*i<=c;i++)
    	{
    		ll h=sqrt(c-(i*i));
    		x=max(x,i+h);
    	}
    	if(x%2)
    	cout<<"Ashish\n";
    	else
    	cout<<"Utkarsh\n";
    }
    return 0;
}


#include <iostream>
#include<math.h>
#include<algorithm>
#define lol int t;cin>>t;while(t--)
#define ll long long int
using namespace std;

int main()
{
	ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    lol
    {
    	ll d,k,p,q=0;
    	cin>>d>>k;
    	ll c=(d*d)/(k*k);
    	ll x=0;p=sqrt(c);
    	for(int i=p;i>=p/2;i--)
    	{
    		if(c-(i*i)<0)
    		break;
    		ll h=sqrt(c-(i*i));
    		x=max(x,i+h);
    	}
    	if(x%2)
    	cout<<"Ashish\n";
    	else
    	cout<<"Utkarsh\n";
    }
    return 0;
}


#include <bits/stdc++.h>
#if __has_include(<atcoder/all>)
#include <atcoder/all>
using namespace atcoder;
#endif
using namespace std;
using ll = long long;
struct Edge
{
    ll to;
    ll cost;
};
using Graph = vector<vector<Edge>>;
using P = pair<ll, ll>;
#define mp make_pair
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define SORT(v) sort((v).begin(), (v).end())
#define RSORT(v) sort((v).rbegin(), (v).rend())
#define ALL(v) (v).begin(), v.end()
const ll MOD = 1000000007;
const ll nmax = 8;
const ll INF = LLONG_MAX;
const int MAX = 510000;
bool graph[nmax][nmax];
long long fac[MAX], finv[MAX], inv[MAX];

void COMinit()
{
    fac[0] = fac[1] = 1;
    finv[0] = finv[1] = 1;
    inv[1] = 1;
    for (int i = 2; i < MAX; i++)
    {
        fac[i] = fac[i - 1] * i % MOD;
        inv[i] = MOD - inv[MOD % i] * (MOD / i) % MOD;
        finv[i] = finv[i - 1] * inv[i] % MOD;
    }
}

ll COM(int n, int k)
{
    if (n < k)
        return 0;
    if (n < 0 || k < 0)
        return 0;

    return fac[n] * (finv[k] * finv[n - k] % MOD) % MOD;
}

vector<vector<ll>> dist = vector<vector<ll>>(nmax, vector<ll>(nmax, INF));
void warshall_floyd(ll n)
{
    for (size_t i = 0; i < n; i++)
    {
        for (size_t j = 0; j < n; j++)
        {
            for (size_t k = 0; k < n; k++)
            {
                dist[j][k] = min(dist[j][k], dist[j][i] + dist[i][k]);
            }
        }
    }
}

ll gcd(ll a, ll b)
{
    if (b == 0)
        return a;
    return gcd(b, a % b);
}

ll lcm(ll a, ll b)
{
    ll g = gcd(a, b);
    return a / g * b;
}

ll mulMod(ll a, ll b)
{
    return (((a % MOD) * (b % MOD)) % MOD);
}

ll powMod(ll a, ll p)
{
    if (p == 0)
    {
        return 1;
    }
    else if (p % 2 == 0)
    {
        ll half = powMod(a, p / 2);
        return mulMod(half, half);
    }
    else
    {
        return mulMod(powMod(a, p - 1), a);
    }
}

ll ceil(ll a, ll b)
{
    return (a + b - 1) / b;
}

int main()
{
    ll t;
    cin >> t;
    while (t--)
    {
        ll d, k;
        cin >> d >> k;
        ll maximum = 0;
        for (int x = 0; x <= d; x++)
        {
            ll y = sqrt(d * d - x * x);
            if (x % k != 0)
                continue;
            maximum = max(x / k + y / k, maximum);
        }

        if (maximum % 2 == 0)
        {
            cout << "Utkarsh" << endl;
        }
        else
        {
            cout << "Ashish" << endl;
        }
    }

    return 0;
}