#include <bits/stdc++.h>
using namespace std;
int n, x, y, st;
bool query(int x, int y){
	if(x<1 or y<1 or x>n or y>n) return false;
	cout << "examine " << x << " " << y << endl;
	string s; cin >> s; return s[0]=='t';
}
int main(){
	cin >> n >> x >> y;
	for(int i = 0; i < 3; i++){
		st = 1<<30;
		while(st){
			if(query(x-st,y))x-=st;
			st>>=1;
		}
		st = 1<<30;
		while(st){
			if(query(x,y-st))y-=st;
			st>>=1;
		}
	}
	st = 1<<30;
	while(st){
		if(query(x-st,y-st))x-=st,y-=st;
		st>>=1;
	}
	int X = x, Y = y;
	st = 1<<30;
	while(st){
		if(query(x+st,y+st))x+=st,y+=st;
		st>>=1;
	}
	int dis = x-X+1, ok, m;
	if(dis%5==0){
		m = dis/5; ok = 1;
		for(int i = 1; i <= 4; i++)
			ok&=query(X+i*m,Y+i*m);
	}
	if(!ok and dis%3==0){
		m = dis/3; ok = 1;
		for(int i = 1; i <= 2; i++)
			ok&=query(X+i*m,Y+i*m);
	}
	if(!ok) m = dis;	
	while(query(X-m,Y)) X-=m;
	while(query(X,Y-m)) Y-=m;
	cout << "solution " << X+2*m+m/2 << " " << Y+2*m+m/2 << endl;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |