QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#116936#6668. TrokutiHe_Ren#100 ✓17ms4080kbC++173.4kb2023-06-30 11:01:362024-05-31 18:35:06

Judging History

你现在查看的是最新测评结果

  • [2024-05-31 18:35:06]
  • 评测
  • 测评结果:100
  • 用时:17ms
  • 内存:4080kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-06-30 11:01:36]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int MAXN = 100 + 5;

mt19937 gen(114514);

int ask(int x,int y,int z)
{
	printf("? %d %d %d\n",x,y,z);
	fflush(stdout);
	int res;
	scanf("%d",&res);
	return res;
}

int n;
int ans[MAXN][MAXN];
array<int,3> rt = {0,0,0};

void updans(int u,int v,int w)
{
	ans[u][v] = ans[v][u] = w;
}

int ask(int u,int v)
{
	if(ans[u][v] != -1) return ans[u][v];
	int k = ask(u, v, rt[0]) - ans[u][rt[0]] - ans[v][rt[0]];
	updans(u, v, k);
	return k;
}

int ask_all(int u,int v,int w)
{
	int t = ask(u, v, w);
	if(t == 0 || t == 3)
	{
		t /= 3;
		updans(u, v, t);
		updans(u, w, t);
		updans(v, w, t);
		return ans[u][v] + ans[u][w] + ans[v][w];
	}
	
	t = t - ask(u, v);
	if(t == 0 || t == 2)
	{
		t /= 2;
		updans(u, w, t);
		updans(v, w, t);
		return ans[u][v] + ans[u][w] + ans[v][w];
	}
	
	t = t - ask(u, w);
	updans(v, w, t);
	return ans[u][v] + ans[u][w] + ans[v][w];
}

void check(int u,int v,int w,int oth)
{
	int x01 = ask(u, v, oth) - ans[u][v];
	if(x01 == 0 || x01 == 2)
	{
		updans(u, oth, x01 / 2);
		updans(v, oth, x01 / 2);
		
		int x02 = ask(u, w, oth) - ans[u][w];
		updans(w, oth, x02 - ans[u][oth]);
		return;
	}
	
	int x02 = ask(u, w, oth) - ans[u][w];
	if(x02 == 0 || x02 == 2)
	{
		updans(u, oth, x02 / 2);
		updans(w, oth, x02 / 2);
		updans(v, oth, x01 - ans[oth][u]);
		return;
	}
	
	int x12 = ask(v, w, oth) - ans[v][w];
	updans(v, oth, x12 / 2);
	updans(w, oth, x12 / 2);
	updans(u, oth, x01 - ans[oth][v]);
}

int main(void)
{
	n = 100;
	
	memset(ans, -1, sizeof(ans));
	for(int i=1; i<=n; ++i)
		ans[i][i] = 0;
	
	vector<int> id(n);
	iota(id.begin(), id.end(), 1);
	shuffle(id.begin(), id.end(), gen);
	
	[&] (void)
	{
		for(int i=0; i<n; ++i)
		for(int j=0; j<i; ++j)
		for(int k=0; k<j; ++k)
		{
			int t = ask(id[i], id[j], id[k]);
			if(t == 0 || t == 3)
			{
				int cur = t / 3;
				updans(id[i], id[j], cur);
				updans(id[i], id[k], cur);
				updans(id[j], id[k], cur);
				rt = {id[i], id[j], id[k]};
				return;
			}
		}
	}();
	
	for(auto t: rt)
		id.erase(find(id.begin(), id.end(), t));
	
	for(auto t: id)
	{
		check(rt[0], rt[1], rt[2], t);
	}
	
	vector<int> has;
	for(auto u: id)
	{
		vector<int> vec;
		
		int i = 0;
		shuffle(has.begin(), has.end(), gen);
		for(; i+1 < (int)has.size(); i+=2)
		{
			int v = has[i], w = has[i+1];
			int t = ask(u, v, w) - ans[v][w];
			if(t == 0 || t == 2)
			{
				updans(u, v, t / 2);
				updans(u, w, t / 2);
				continue;
			}
			
			if(vec.size() == 0)
			{
				vec.emplace_back(v);
				vec.emplace_back(w);
				continue;
			}
			
			t = ask(u, v, vec[0]) - ans[v][vec[0]];
			if(t == 0 || t == 2)
			{
				t /= 2;
				updans(u, v, t);
				updans(u, w, t ^ 1);
				
				for(int j=0; j<(int)vec.size(); ++j)
					updans(u, vec[j], t ^ (j & 1));
				vec.clear();
			}
			else
			{
				vec.insert(vec.begin(), v);
				vec.insert(vec.begin(), w);
			}
		}
		if(i < (int)has.size())
			ask(u, has[i]);
		
		if(vec.size())
		{
			int t = ask(u, vec[0]);
			for(int j=0; j<(int)vec.size(); ++j)
				updans(u, vec[j], t ^ (j & 1));
		}
		
		has.emplace_back(u);
	}
	
	printf("!\n");
	for(int i=1; i<=n; ++i, printf("\n"))
		for(int j=1; j<=n; ++j)
			printf("%d",ans[i][j]);
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 100
Accepted

Test #1:

score: 100
Accepted
time: 10ms
memory: 3796kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 100 93 15
? ...

result:

points 1.0 points  1.0 correct 2547 queries

Test #2:

score: 100
Accepted
time: 0ms
memory: 3800kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 100 93 15
? ...

result:

points 1.0 points  1.0 correct 2547 queries

Test #3:

score: 100
Accepted
time: 0ms
memory: 3884kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 100 93 15
? ...

result:

points 1.0 points  1.0 correct 2548 queries

Test #4:

score: 100
Accepted
time: 17ms
memory: 3808kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 100 93 15
? ...

result:

points 1.0 points  1.0 correct 2548 queries

Test #5:

score: 100
Accepted
time: 0ms
memory: 3888kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 100 93 15
? ...

result:

points 1.0 points  1.0 correct 2557 queries

Test #6:

score: 100
Accepted
time: 5ms
memory: 3752kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
3
3
3
3
3
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 100 93 15
? ...

result:

points 1.0 points  1.0 correct 2555 queries

Test #7:

score: 100
Accepted
time: 3ms
memory: 3772kb

input:

1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
1
2
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
2
0
0
1
0
1
1
0
1
1
2
0
1
1
1
2
0
0
0
1
1
1
0
1
1
0
1
2
0
0
0
1
0
0
1
1
2
1
1
0
1
2
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
2
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
2
...

output:

? 100 40 93
? 36 40 93
? 36 40 100
? 36 93 100
? 36 40 2
? 36 93 2
? 36 40 23
? 36 93 23
? 36 40 77
? 36 93 77
? 36 40 87
? 36 93 87
? 40 93 87
? 36 40 10
? 36 93 10
? 36 40 70
? 36 93 70
? 36 40 13
? 36 93 13
? 36 40 65
? 36 93 65
? 36 40 83
? 36 93 83
? 40 93 83
? 36 40 20
? 36 93 20
? 36 40 15
? ...

result:

points 1.0 points  1.0 correct 3141 queries

Test #8:

score: 100
Accepted
time: 10ms
memory: 4072kb

input:

0
1
2
1
2
2
1
1
1
0
0
1
1
0
2
1
0
0
0
0
1
0
0
0
2
2
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
1
2
1
1
0
1
1
0
0
0
1
0
0
1
2
1
0
0
1
1
2
0
0
0
1
1
1
2
1
0
0
1
2
2
1
1
0
1
1
0
0
1
1
0
0
0
0
0
1
2
0
0
1
2
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
2
1
0
0
1
2
1
2
0
1
1
0
0
1
1
1
2
1
0
0
1
1
1
0
0
1
1
2
0
1
1
1
0
0
0
0
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 40 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 100 40 15
? 1...

result:

points 1.0 points  1.0 correct 3285 queries

Test #9:

score: 100
Accepted
time: 0ms
memory: 3804kb

input:

1
2
3
2
2
1
1
1
3
3
3
3
2
2
1
1
1
2
2
1
1
1
2
2
1
3
3
3
3
1
1
3
3
3
3
2
2
1
1
1
2
2
1
2
2
1
1
1
3
3
3
3
2
2
1
3
3
1
1
3
3
3
3
2
2
1
2
2
1
3
3
3
3
2
2
1
2
2
1
2
2
1
3
3
3
3
2
2
1
2
3
1
1
3
3
2
3
3
3
3
3
3
3
3
3
3
3
3
3
1
1
2
2
1
3
3
2
2
1
1
1
3
3
3
3
2
2
1
2
2
1
3
3
3
3
2
3
3
3
3
3
2
2
1
1
1
3
3
3
3
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 36 93 40
? 100 93 40
? 36 100 2
? 36 93 2
? 36 100 23
? 36 93 23
? 36 100 77
? 36 93 77
? 36 100 87
? 36 93 87
? 100 93 87
? 36 100 10
? 36 93 10
? 36 100 70
? 36 93 70
? 100 93 70
? 36 100 13
? 36 93 13
? 36 100 65
? 36 93 65
? 100 93 65
? 36 100 83
...

result:

points 1.0 points  1.0 correct 3096 queries

Test #10:

score: 100
Accepted
time: 2ms
memory: 3732kb

input:

2
2
2
2
2
2
2
2
0
2
2
2
2
0
0
2
2
2
2
0
0
2
2
0
0
2
2
2
2
0
0
0
0
2
2
2
2
0
0
0
0
2
2
2
2
0
0
2
2
2
2
0
0
2
2
0
0
2
2
0
0
2
2
0
0
2
2
0
0
2
2
2
2
2
2
2
2
0
0
2
2
2
2
0
0
2
2
2
2
2
2
0
0
0
0
0
0
2
2
0
0
0
0
2
2
0
0
2
2
0
0
2
2
2
2
0
0
0
0
0
0
2
2
2
2
0
0
0
0
0
0
0
0
2
2
0
0
2
2
0
0
2
2
0
0
0
0
2
2
0
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 2 40 93
? 2 100 93
? 2 100 40
? 2 36 93
? 2 36 40
? 2 36 93
? 2 40 93
? 2 36 100
? 2 40 100
? 2 36 23
? 2 40 23
? 2 36 77
? 2 40 77
? 2 36 87
? 2 40 87
? 2 36 10
? 2 40 10
? 2 36 70
? 2 40 70
? 2 36 13
? 2 40 13
? 2 36 65
? 2 40 65
? 2 36 83
? 2 40 83...

result:

points 1.0 points  1.0 correct 3371 queries

Test #11:

score: 100
Accepted
time: 0ms
memory: 4080kb

input:

1
1
1
1
2
1
0
1
2
1
0
0
0
1
0
0
1
1
0
0
1
2
1
1
1
0
0
0
1
2
1
1
2
2
2
2
1
0
1
2
1
0
0
1
0
2
2
1
1
2
2
1
0
1
0
1
1
2
1
2
1
0
2
2
1
1
2
0
0
1
1
2
1
0
0
0
2
1
0
1
2
1
1
2
1
1
2
1
2
1
1
2
1
1
2
1
1
0
1
2
1
1
2
1
2
2
1
0
0
0
0
0
1
1
1
0
1
1
0
1
2
1
0
1
1
2
0
0
1
1
2
1
0
0
0
1
2
1
2
0
0
2
1
1
2
1
1
2
1
1
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 2 40 93
? 2 100 93
? 2 100 40
? 2 100 93
? 2 40 93
? 2 100 36
? 2 40 36
? 2 100 23
? 2 40 23
? 2 100 77
? 2 40 77
? 2 100 87
? 2 40 87
? 2 100 10
? 2 40 10
? 2 100 70
? 2 40 70
? 2 100 13
? 2 40 13
? 2 100 65
? 2 40 65
? 100 40 65
? 2 100 83
? 2 40 83...

result:

points 1.0 points  1.0 correct 3380 queries

Test #12:

score: 100
Accepted
time: 7ms
memory: 3820kb

input:

2
0
2
2
2
1
2
2
1
2
1
1
0
2
1
1
2
0
0
2
2
0
1
1
1
2
1
2
2
1
1
0
1
1
2
1
0
2
1
1
1
2
2
2
0
0
0
1
1
0
2
1
2
2
0
0
0
1
2
1
1
1
0
1
2
1
1
0
0
1
2
1
1
0
1
2
0
1
0
1
1
1
2
1
2
1
2
1
1
2
1
1
2
1
0
1
0
2
2
0
1
2
1
1
2
1
1
2
1
1
0
0
1
0
0
2
2
1
1
0
0
0
0
1
1
0
2
1
1
0
1
1
2
2
1
2
1
1
2
2
2
2
1
0
0
2
2
1
1
2
...

output:

? 100 40 93
? 36 40 93
? 36 40 100
? 36 93 100
? 36 40 2
? 36 93 2
? 36 40 23
? 36 93 23
? 36 40 77
? 36 93 77
? 36 40 87
? 36 93 87
? 40 93 87
? 36 40 10
? 36 93 10
? 36 40 70
? 36 93 70
? 36 40 13
? 36 93 13
? 36 40 65
? 36 93 65
? 36 40 83
? 36 93 83
? 36 40 20
? 36 93 20
? 40 93 20
? 36 40 15
? ...

result:

points 1.0 points  1.0 correct 3352 queries

Test #13:

score: 100
Accepted
time: 10ms
memory: 3800kb

input:

2
1
2
1
2
1
1
1
2
2
2
3
1
2
2
1
1
1
2
2
1
2
1
1
1
2
2
3
3
3
1
2
2
1
2
2
1
2
2
1
2
2
3
3
2
1
1
2
3
2
2
1
2
3
2
1
1
2
3
2
1
2
2
3
1
1
1
1
3
3
2
1
1
1
2
1
3
2
1
2
2
1
3
2
3
3
2
3
2
3
3
3
3
2
2
2
1
1
1
2
3
3
2
2
3
2
1
3
3
2
3
3
2
2
1
3
3
3
2
2
1
2
2
1
2
2
1
2
3
2
2
3
3
3
2
1
3
3
2
3
1
2
2
2
3
3
2
3
3
2
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 2 40 93
? 2 100 93
? 2 100 40
? 2 36 93
? 2 36 40
? 2 36 100
? 23 40 93
? 23 100 93
? 23 100 40
? 23 93 40
? 23 100 36
? 23 93 36
? 23 100 2
? 23 93 2
? 23 100 77
? 23 93 77
? 100 93 77
? 23 100 87
? 23 93 87
? 23 100 10
? 23 93 10
? 23 100 70
? 23 93...

result:

points 1.0 points  1.0 correct 3368 queries

Test #14:

score: 100
Accepted
time: 3ms
memory: 3784kb

input:

3
1
1
3
2
3
3
2
1
3
3
1
2
2
2
3
2
2
1
2
2
3
1
1
2
3
3
2
2
2
1
1
1
1
2
1
2
2
1
2
2
1
3
2
3
3
1
2
2
3
2
2
1
1
1
2
3
2
3
2
1
3
3
3
2
3
2
3
2
3
3
3
2
1
1
2
1
1
1
2
1
2
1
2
2
3
2
2
3
2
1
2
2
3
2
2
1
2
2
1
2
2
1
2
1
3
3
2
1
2
3
2
2
3
2
2
1
3
2
3
3
3
3
1
1
2
3
2
3
1
2
2
3
1
2
1
1
1
1
3
2
2
1
1
1
3
3
3
2
1
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 40 93 70
? 100 40 13
? 100 93 13
? 40 93 13
? 100 40 65
? 100 93 65
? 40 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100...

result:

points 1.0 points  1.0 correct 3363 queries

Test #15:

score: 100
Accepted
time: 5ms
memory: 3816kb

input:

2
1
0
1
1
2
1
1
2
1
1
2
1
1
0
0
0
0
0
0
1
0
0
0
1
2
2
1
0
0
1
1
2
0
0
2
1
1
1
2
1
1
0
1
2
1
1
0
1
1
0
2
1
0
0
1
1
0
1
0
1
2
1
2
0
0
1
1
0
0
1
1
0
1
2
1
2
1
1
0
0
0
1
1
0
0
1
1
1
2
1
0
2
1
2
1
0
0
0
0
1
2
0
0
2
2
2
2
1
1
2
1
2
0
0
2
1
1
1
2
2
1
1
1
0
1
2
1
0
2
1
2
1
2
2
2
1
1
2
0
1
0
0
0
0
1
1
2
0
1
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 36 93 40
? 100 93 40
? 36 100 2
? 36 93 2
? 100 93 2
? 36 100 23
? 36 93 23
? 100 93 23
? 36 100 77
? 36 93 77
? 100 93 77
? 36 100 87
? 36 93 87
? 36 100 10
? 36 93 10
? 36 100 70
? 36 93 70
? 36 100 13
? 36 93 13
? 36 100 65
? 36 93 65
? 36 100 83
?...

result:

points 1.0 points  1.0 correct 3377 queries

Test #16:

score: 100
Accepted
time: 3ms
memory: 4072kb

input:

1
2
2
1
3
2
2
1
1
2
1
1
2
2
1
2
3
2
3
2
2
1
3
3
2
2
3
1
2
1
1
2
1
3
2
1
1
2
1
2
2
1
2
2
1
3
2
1
1
2
1
3
2
1
1
1
1
2
2
1
2
3
3
3
2
3
2
2
3
3
2
2
2
3
3
3
2
1
3
2
3
2
2
3
2
3
2
2
3
2
2
3
2
2
1
2
2
1
2
2
3
3
3
2
2
1
2
2
1
2
1
2
1
3
3
2
3
2
2
3
2
1
3
2
1
1
2
2
3
1
2
2
2
1
2
3
2
3
1
1
2
1
1
2
1
2
2
2
3
3
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 2 40 93
? 2 40 100
? 2 93 100
? 40 93 100
? 2 40 36
? 2 93 36
? 2 40 23
? 2 93 23
? 2 40 77
? 2 93 77
? 40 93 77
? 2 40 87
? 2 93 87
? 2 40 10
? 2 93 10
? 2 40 70
? 2 93 70
? 40 93 70
? 2 40 13
? 2 93 13
? 2 40 65
? 2 93 65
? 40 93 65
? 2 40 83
? 2 93...

result:

points 1.0 points  1.0 correct 3331 queries

Test #17:

score: 100
Accepted
time: 2ms
memory: 3740kb

input:

0
1
0
2
1
1
1
2
0
1
2
2
0
0
1
2
0
1
0
0
1
1
2
2
2
1
2
1
1
0
0
0
1
2
1
1
2
0
1
1
1
2
2
2
0
0
2
2
2
1
1
1
0
1
1
2
1
1
0
0
1
1
1
2
1
1
2
1
2
1
0
1
1
0
1
1
2
1
1
2
1
1
0
2
1
1
1
2
1
1
0
0
1
0
0
0
1
1
2
1
1
0
1
1
0
0
1
0
1
1
0
1
1
0
0
1
1
2
1
2
1
1
0
1
1
2
0
1
1
1
0
2
1
2
2
2
2
2
1
2
1
2
2
2
2
2
1
1
2
1
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 40 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 40 93 83
? 100 40 20
? 100 93 20
? 10...

result:

points 1.0 points  1.0 correct 3378 queries

Test #18:

score: 100
Accepted
time: 3ms
memory: 3788kb

input:

1
0
1
2
2
1
1
0
0
0
2
1
2
2
1
2
1
1
2
1
1
2
0
0
1
0
2
2
2
2
1
2
1
0
0
1
0
0
1
1
2
1
1
0
1
1
2
1
1
0
1
1
2
2
2
1
1
2
1
0
1
2
2
2
1
2
0
0
0
0
2
1
1
2
0
0
1
2
1
0
2
1
0
1
0
0
1
1
2
1
1
2
1
1
2
0
1
2
1
1
1
2
1
1
2
1
1
2
2
2
1
0
1
1
2
0
1
1
0
0
0
0
1
0
1
2
1
1
1
2
1
1
2
2
1
2
1
0
0
1
1
0
2
1
1
1
0
2
1
0
...

output:

? 100 40 93
? 36 40 93
? 36 40 100
? 36 93 100
? 36 40 2
? 36 93 2
? 36 40 23
? 36 93 23
? 36 40 77
? 36 93 77
? 36 40 87
? 36 93 87
? 36 40 10
? 36 93 10
? 36 40 70
? 36 93 70
? 36 40 13
? 36 93 13
? 40 93 13
? 36 40 65
? 36 93 65
? 40 93 65
? 36 40 83
? 36 93 83
? 36 40 20
? 36 93 20
? 36 40 15
? ...

result:

points 1.0 points  1.0 correct 3345 queries

Test #19:

score: 100
Accepted
time: 5ms
memory: 3868kb

input:

1
1
0
2
1
1
0
1
0
1
1
0
0
0
1
0
1
2
1
1
0
1
0
1
2
1
1
2
1
1
0
1
1
0
0
1
1
2
2
1
2
2
0
1
0
0
1
2
1
1
0
1
1
0
1
2
1
1
2
1
2
2
1
0
1
0
0
1
1
2
2
1
1
1
2
1
1
2
1
2
2
2
1
0
1
2
1
2
2
1
1
0
2
2
2
1
1
1
2
1
1
0
1
0
1
1
2
0
1
1
0
0
0
2
2
0
0
2
2
2
2
1
2
2
2
1
1
0
2
1
0
1
2
2
2
2
0
0
0
1
1
1
0
1
0
1
1
0
1
1
...

output:

? 100 40 93
? 36 40 93
? 36 100 93
? 36 100 40
? 36 93 40
? 36 100 2
? 36 93 2
? 36 100 23
? 36 93 23
? 36 100 77
? 36 93 77
? 100 93 77
? 36 100 87
? 36 93 87
? 36 100 10
? 36 93 10
? 36 100 70
? 36 93 70
? 36 100 13
? 36 93 13
? 100 93 13
? 36 100 65
? 36 93 65
? 36 100 83
? 36 93 83
? 36 100 20
?...

result:

points 1.0 points  1.0 correct 3368 queries

Test #20:

score: 100
Accepted
time: 9ms
memory: 3864kb

input:

0
0
0
1
2
0
1
2
2
1
1
0
2
2
1
1
0
0
1
0
0
0
1
2
2
1
2
1
1
2
1
0
2
2
1
1
2
1
1
2
2
1
1
0
2
1
1
1
2
2
2
0
1
1
1
2
1
0
1
0
1
0
1
2
2
2
1
1
2
1
2
1
1
2
1
2
2
2
1
0
0
0
1
0
0
0
0
0
1
2
1
1
2
0
0
2
1
1
2
1
1
0
0
1
1
1
2
1
0
1
0
0
1
1
2
2
2
0
1
1
2
0
0
1
2
1
0
1
2
0
0
1
1
2
1
1
0
1
0
2
1
2
1
1
0
1
1
0
1
1
...

output:

? 100 40 93
? 100 40 36
? 100 93 36
? 100 40 2
? 100 93 2
? 100 40 23
? 100 93 23
? 100 40 77
? 100 93 77
? 100 40 87
? 100 93 87
? 40 93 87
? 100 40 10
? 100 93 10
? 100 40 70
? 100 93 70
? 40 93 70
? 100 40 13
? 100 93 13
? 100 40 65
? 100 93 65
? 100 40 83
? 100 93 83
? 100 40 20
? 100 93 20
? 10...

result:

points 1.0 points  1.0 correct 3370 queries