QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#117127#6668. Trokutieyiigjkn100 ✓40ms8164kbC++142.5kb2023-06-30 13:19:232023-06-30 13:19:26

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-06-30 13:19:26]
  • 评测
  • 测评结果:100
  • 用时:40ms
  • 内存:8164kb
  • [2023-06-30 13:19:23]
  • 提交

answer

# include <bits/stdc++.h>
using namespace std;
constexpr int n=100;
int G[110][110],Q6[12][3]={{0,1,3},{0,1,4},{0,1,5},{0,2,3},{0,2,4},{0,2,5},{0,4,5},{1,2,3},{1,2,4},{1,2,5},{1,3,5},{2,3,4}};
map<vector<int>,int> mp6;
mt19937 rnd;
int query(int a,int b,int c)
{
	if(~G[a][b] && ~G[b][c] && ~G[c][a]) return G[a][b]+G[b][c]+G[c][a];
	cout<<"? "<<a<<" "<<b<<" "<<c<<endl;
	int x;cin>>x;
	return x;
}
void query6(const vector<int> &V)
{
	vector<int> vec;
	for(int i=0;i<12;i++) vec.push_back(query(V[Q6[i][0]],V[Q6[i][1]],V[Q6[i][2]]));
	int S=mp6[vec];
	for(int i=0,p=0;i<6;i++)
		for(int j=0;j<i;j++)
			G[V[i]][V[j]]=G[V[j]][V[i]]=(S>>p++)&1;
}
void slv(int u,vector<int> V)
{
	int sz=V.size();
	shuffle(V.begin(),V.end(),rnd);
	auto set=[&](int i,int v){G[u][i]=G[i][u]=v;};
	if(sz<=5)
	{
		static int a[110];
		for(int i=0;i+1<sz;i++) a[i]=query(V[i],V[i+1],u)-G[V[i]][V[i+1]];
		int p=find(a,a+sz-1,0)-a;
		if(p<sz-1)
		{
			set(V[p],0);set(V[p+1],0);
			for(int i=p+2;i<sz;i++) set(V[i],a[i-1]-G[u][V[i-1]]);
			for(int i=p-1;i>=0;i--) set(V[i],a[i]-G[u][V[i+1]]);
		}
		else
		{
			p=find(a,a+sz-1,2)-a;
			if(p<sz-1)
			{
				set(V[p],1);set(V[p+1],1);
				for(int i=p+2;i<sz;i++) set(V[i],a[i-1]-G[u][V[i-1]]);
				for(int i=p-1;i>=0;i--) set(V[i],a[i]-G[u][V[i+1]]);
			}
			else
			{
				set(V[0],query(V[0],V[2],u)!=G[V[0]][V[2]]);
				for(int i=1;i<sz;i++) set(V[i],a[i-1]-G[u][V[i-1]]);
			}
		}
		return;
	}
	vector<int> tV,cnt(sz);
	for(int i=0;i+1<sz;i+=2)
	{
		cnt[i]=query(V[i],V[i+1],u)-G[V[i]][V[i+1]];
		if(cnt[i]==0) set(V[i],0),set(V[i+1],0);
		else if(cnt[i]==2) set(V[i],1),set(V[i+1],1);
		else tV.push_back(V[i]);
	}
	if(sz&1) tV.push_back(V.back());
	if(tV.empty()) return;
	for(int i=0;i<sz && tV.size()<3;i++)
		if(~G[u][V[i]]) tV.push_back(V[i]);
	slv(u,tV);
	for(int i=0;i+1<sz;i+=2)
		if(G[u][V[i+1]]==-1)
			set(V[i+1],cnt[i]-G[u][V[i]]);
}
int main()
{
	for(int i=0;i<(1<<15);i++)
	{
		static int E[6][6];
		for(int j=0,p=0;j<6;j++)
			for(int k=0;k<j;k++)
				E[j][k]=E[k][j]=(i>>p++)&1;
		vector<int> vec;
		for(int j=0;j<12;j++) vec.push_back(E[Q6[j][0]][Q6[j][1]]+E[Q6[j][1]][Q6[j][2]]+E[Q6[j][2]][Q6[j][0]]);
		mp6[vec]=i;
	}
	for(int i=1;i<=n;i++) fill(G[i]+1,G[i]+n+1,-1),G[i][i]=0;
	query6({1,2,3,4,5,6});
	for(int i=6;i<=n;i++)
	{
		vector<int> V;
		for(int j=1;j<i;j++)
			if(G[i][j]==-1) V.push_back(j);
		if(!V.empty()) slv(i,V);
	}
	cout<<"!\n";
	for(int i=1;i<=n;i++,cout<<"\n")
		for(int j=1;j<=n;j++)
			cout<<G[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: 36ms
memory: 8132kb

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:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 2517 queries

Test #2:

score: 100
Accepted
time: 27ms
memory: 8084kb

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:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 2517 queries

Test #3:

score: 100
Accepted
time: 19ms
memory: 8068kb

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:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 2518 queries

Test #4:

score: 100
Accepted
time: 23ms
memory: 8132kb

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:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 2518 queries

Test #5:

score: 100
Accepted
time: 25ms
memory: 8060kb

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
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 2525 queries

Test #6:

score: 100
Accepted
time: 16ms
memory: 8108kb

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
2
3
2
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 2532 queries

Test #7:

score: 100
Accepted
time: 22ms
memory: 8136kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 1 5 7
? 5 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 2 5 8
? 5 3 8
? 3 4 8
? 3 7 9
? 5 1 9
? 6 2 9
? 4 8 9
? 7 5 9
? 3 2 10
? 1 4 10
? 5 7 10
? 6 8 10
? 1 9 10
? 9 3 10
? 3 4 11
? 1 6 11
? 2 ...

result:

points 1.0 points  1.0 correct 3126 queries

Test #8:

score: 100
Accepted
time: 15ms
memory: 8132kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 1 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 4 3 8
? 3 2 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 7 5 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 6 5 10
? 8 2 11
? 3 4 11
? 6 7 11
? 1 10 11
? 9 5 11
?...

result:

points 1.0 points  1.0 correct 3259 queries

Test #9:

score: 100
Accepted
time: 31ms
memory: 8044kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 3 1 7
? 1 5 7
? 3 1 8
? 2 7 8
? 5 6 8
? 5 4 8
? 4 2 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 6 8 9
? 8 5 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 4 6 10
? 6 5 10
? 8 2 11
? 3 4 11
? 6 ...

result:

points 1.0 points  1.0 correct 3384 queries

Test #10:

score: 100
Accepted
time: 30ms
memory: 8140kb

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:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 6 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 7 6 10
? 1 9 10
? 8 4 10
? 5 3 10
? 2 7 10
? 1 9 11
? 3 4 11
? 10 5 11
? 8 7 11
? 2 6 11
? 1 11 12
? 2 4 12
? 5 9 ...

result:

points 1.0 points  1.0 correct 3034 queries

Test #11:

score: 100
Accepted
time: 14ms
memory: 8128kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 5 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 2 5 8
? 5 3 8
? 3 4 8
? 3 7 9
? 5 1 9
? 6 2 9
? 4 8 9
? 6 4 9
? 4 3 9
? 3 2 10
? 1 4 10
? 5 7 10
? 6 8 10
? 3 5 10
? 5 9 10
? 3 4 11
? 1 6 11
? 2 ...

result:

points 1.0 points  1.0 correct 3366 queries

Test #12:

score: 100
Accepted
time: 40ms
memory: 8108kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 1 5 7
? 5 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 2 5 8
? 5 3 8
? 3 4 8
? 3 7 9
? 5 1 9
? 6 2 9
? 4 8 9
? 5 6 9
? 6 4 9
? 4 3 9
? 1 2 10
? 3 4 10
? 5 6 10
? 9 8 10
? 3 7 10
? 7 1 10
? 4 1 ...

result:

points 1.0 points  1.0 correct 3346 queries

Test #13:

score: 100
Accepted
time: 29ms
memory: 8076kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 1 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 5 4 8
? 4 2 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 8 6 9
? 6 5 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 2 6 10
? 6 5 10
? 8 2 11
? 3 4 11
? 6 7 11
? 1...

result:

points 1.0 points  1.0 correct 3366 queries

Test #14:

score: 100
Accepted
time: 24ms
memory: 8072kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 3 1 7
? 3 1 8
? 2 7 8
? 5 6 8
? 4 3 8
? 3 5 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 3 5 9
? 5 6 9
? 3 6 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 2 7 10
? 7 6 10
? 2 6 10
? 8 2 11
? 3 ...

result:

points 1.0 points  1.0 correct 3375 queries

Test #15:

score: 100
Accepted
time: 29ms
memory: 8084kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 1 5 7
? 5 3 7
? 1 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 5 4 8
? 4 3 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 2 8 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 4 2 10
? 2 7 10
? 7 6 10
? 3 4 11
? 1 ...

result:

points 1.0 points  1.0 correct 3368 queries

Test #16:

score: 100
Accepted
time: 40ms
memory: 8096kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 3 1 7
? 1 5 7
? 3 1 8
? 2 7 8
? 5 6 8
? 5 4 8
? 4 3 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 6 8 9
? 8 5 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 4 2 10
? 2 6 10
? 8 2 11
? 3 4 11
? 6 ...

result:

points 1.0 points  1.0 correct 3355 queries

Test #17:

score: 100
Accepted
time: 19ms
memory: 8140kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 1 5 7
? 5 3 7
? 1 3 7
? 3 1 8
? 2 7 8
? 5 6 8
? 2 4 8
? 4 3 8
? 2 3 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 3 5 9
? 5 6 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 7 6 10
? 6 5 10
? 8 2 ...

result:

points 1.0 points  1.0 correct 3368 queries

Test #18:

score: 100
Accepted
time: 25ms
memory: 8132kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 3 1 7
? 1 5 7
? 3 1 8
? 2 7 8
? 5 6 8
? 5 4 8
? 4 2 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 6 3 9
? 3 5 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 5 7 10
? 7 6 10
? 8 2 11
? 3 4 11
? 6 ...

result:

points 1.0 points  1.0 correct 3361 queries

Test #19:

score: 100
Accepted
time: 15ms
memory: 8164kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 3 1 7
? 3 1 8
? 2 7 8
? 5 6 8
? 2 4 8
? 4 3 8
? 5 2 9
? 6 7 9
? 3 1 9
? 8 4 9
? 6 8 9
? 8 5 9
? 5 3 10
? 4 1 10
? 2 9 10
? 7 8 10
? 5 4 10
? 4 2 10
? 2 6 10
? 3 4 11
? 1 6 11
? 2...

result:

points 1.0 points  1.0 correct 3365 queries

Test #20:

score: 100
Accepted
time: 18ms
memory: 8128kb

input:

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

output:

? 1 2 4
? 1 2 5
? 1 2 6
? 1 3 4
? 1 3 5
? 1 3 6
? 1 5 6
? 2 3 4
? 2 3 5
? 2 3 6
? 2 4 6
? 3 4 5
? 3 4 7
? 1 6 7
? 5 2 7
? 4 2 8
? 5 1 8
? 3 7 8
? 3 6 8
? 6 4 8
? 3 4 8
? 7 5 9
? 1 6 9
? 3 8 9
? 2 4 9
? 1 3 9
? 3 7 9
? 4 7 10
? 1 6 10
? 2 5 10
? 3 8 10
? 1 9 10
? 9 4 10
? 8 7 11
? 3 4 11
? 5 10 11
? ...

result:

points 1.0 points  1.0 correct 3358 queries