1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <bits/stdc++.h>
#include "dzilib.h"
using namespace std;
/*auto GetT()
{
	long long int n;
	cin>>n;
	return n;
}
auto GetN()
{
	long long int n;
	cin>>n;
	return n;
}
long long int Ask(long long int c)
{
	cout<<"ile dziel ma n+"<<c<<"\n";
	long long int n;
	cin>>n;
	return n;
}
void Answer(long long int n)
{
	cout<<n<<"\n";
}*/
int main()
{
	long long int n=GetN();
	vector<int>t(n+1001);
	for(int i=1; i<=n+1000; i++)
		for(int j=i; j<=n+1000; j+=i)
			t[j]++;
	vector<vector<long long int>>inv(n+1);
	for(int i=1; i<=n; i++)
		inv[t[i]].push_back(i);
	long long int t1=GetT();
	for(int i=0; i<t1; i++)
	{
		long long int sus=Ask(0);
		auto kan=inv[sus];
		int j=0;
		while(kan.size()!=1)
		{
			j++;
			vector<long long int>kan1;
			long long int sus1=Ask(j);
			for(auto x:kan)
			{
				if(t[x+j]==sus1)
					kan1.push_back(x);
			}
			kan=kan1;
		}
		Answer(kan[0]);
	}
}