//Utkarsh.25dec
#include <bits/stdc++.h>
#include <chrono>
#include <random>
#define ll long long int
#define ull unsigned long long int
#define pb push_back
#define mp make_pair
#define mod 1000000007
#define rep(i,n) for(ll i=0;i<n;i++)
#define loop(i,a,b) for(ll i=a;i<=b;i++)
#define vi vector <int>
#define vs vector <string>
#define vc vector <char>
#define vl vector <ll>
#define all(c) (c).begin(),(c).end()
#define max3(a,b,c) max(max(a,b),c)
#define min3(a,b,c) min(min(a,b),c)
#define deb(x) cerr<<#x<<' '<<'='<<' '<<x<<'\n'
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
// ordered_set s ; s.order_of_key(val) no. of elements strictly less than val
// s.find_by_order(i) itertor to ith element (0 indexed)
typedef vector<vector<ll>> matrix;
ll power(ll a,ll b) {ll res=1;a%=mod; assert(b>=0); for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;}
ll modInverse(ll a){return power(a,mod-2);}
const int N=500023;
bool vis[N];
vector <int> adj[N];
ll q=0;
int mark[2100][2100];
int query(int i,int j)
{
q++;
assert(q<4265);
cout<<'?'<<' '<<i<<' '<<j<<endl;
ll res;
cin>>res;
assert(res!=-1);
return res;
}
void solve()
{
srand(time(0));
for (int it = 0; it < 100; it++) {
ll n = 1 << 11;
int myfirst=0;
int num = 0;
while(true)
{
num++;
int res= (rand() % n) | (rand() % n);
int set=(__builtin_popcount(res));
if(set<=5)
{
break;
}
}
cout << num << "\n";
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int T=1;
// cin>>T;
int t=0;
while(t++<T)
{
//cout<<"Case #"<<t<<":"<<' ';
solve();
//cout<<'\n';
}
cerr << "Time : " << 1000 * ((double)clock()) / (double)CLOCKS_PER_SEC << "ms\n";
}
Ly9VdGthcnNoLjI1ZGVjCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZSA8Y2hyb25vPgojaW5jbHVkZSA8cmFuZG9tPgojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nIGludAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CiNkZWZpbmUgcmVwKGksbikgZm9yKGxsIGk9MDtpPG47aSsrKQojZGVmaW5lIGxvb3AoaSxhLGIpIGZvcihsbCBpPWE7aTw9YjtpKyspCiNkZWZpbmUgdmkgdmVjdG9yIDxpbnQ+CiNkZWZpbmUgdnMgdmVjdG9yIDxzdHJpbmc+CiNkZWZpbmUgdmMgdmVjdG9yIDxjaGFyPgojZGVmaW5lIHZsIHZlY3RvciA8bGw+CiNkZWZpbmUgYWxsKGMpIChjKS5iZWdpbigpLChjKS5lbmQoKQojZGVmaW5lIG1heDMoYSxiLGMpIG1heChtYXgoYSxiKSxjKQojZGVmaW5lIG1pbjMoYSxiLGMpIG1pbihtaW4oYSxiKSxjKQojZGVmaW5lIGRlYih4KSBjZXJyPDwjeDw8JyAnPDwnPSc8PCcgJzw8eDw8J1xuJwp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+IAojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4gCnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOyAKI2RlZmluZSBvcmRlcmVkX3NldCB0cmVlPGludCwgbnVsbF90eXBlLGxlc3M8aW50PiwgcmJfdHJlZV90YWcsdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPgovLyBvcmRlcmVkX3NldCBzIDsgcy5vcmRlcl9vZl9rZXkodmFsKSAgbm8uIG9mIGVsZW1lbnRzIHN0cmljdGx5IGxlc3MgdGhhbiB2YWwKLy8gcy5maW5kX2J5X29yZGVyKGkpICBpdGVydG9yIHRvIGl0aCBlbGVtZW50ICgwIGluZGV4ZWQpCnR5cGVkZWYgdmVjdG9yPHZlY3RvcjxsbD4+IG1hdHJpeDsKbGwgcG93ZXIobGwgYSxsbCBiKSB7bGwgcmVzPTE7YSU9bW9kOyBhc3NlcnQoYj49MCk7IGZvcig7YjtiPj49MSl7aWYoYiYxKXJlcz1yZXMqYSVtb2Q7YT1hKmElbW9kO31yZXR1cm4gcmVzO30KbGwgbW9kSW52ZXJzZShsbCBhKXtyZXR1cm4gcG93ZXIoYSxtb2QtMik7fQpjb25zdCBpbnQgTj01MDAwMjM7CmJvb2wgdmlzW05dOwp2ZWN0b3IgPGludD4gYWRqW05dOwpsbCBxPTA7CmludCBtYXJrWzIxMDBdWzIxMDBdOwppbnQgcXVlcnkoaW50IGksaW50IGopCnsKICAgIHErKzsKICAgIGFzc2VydChxPDQyNjUpOwogICAgY291dDw8Jz8nPDwnICc8PGk8PCcgJzw8ajw8ZW5kbDsKICAgIGxsIHJlczsKICAgIGNpbj4+cmVzOwogICAgYXNzZXJ0KHJlcyE9LTEpOwogICAgcmV0dXJuIHJlczsKfQp2b2lkIHNvbHZlKCkKewogICAgc3JhbmQodGltZSgwKSk7CiAgICBmb3IgKGludCBpdCA9IDA7IGl0IDwgMTAwOyBpdCsrKSB7CiAgICAgICAgbGwgbiA9IDEgPDwgMTE7CiAgICAgICAgaW50IG15Zmlyc3Q9MDsKICAgICAgICBpbnQgbnVtID0gMDsKICAgICAgICB3aGlsZSh0cnVlKQogICAgICAgIHsKICAgICAgICAgICAgbnVtKys7CiAgICAgICAgICAgIGludCByZXM9IChyYW5kKCkgJSBuKSB8IChyYW5kKCkgJSBuKTsKICAgICAgICAgICAgaW50IHNldD0oX19idWlsdGluX3BvcGNvdW50KHJlcykpOwogICAgICAgICAgICBpZihzZXQ8PTUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgbnVtIDw8ICJcbiI7CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpbnQgVD0xOwogICAgLy8gY2luPj5UOwogICAgaW50IHQ9MDsKICAgIHdoaWxlKHQrKzxUKQogICAgewogICAgICAgIC8vY291dDw8IkNhc2UgIyI8PHQ8PCI6Ijw8JyAnOwogICAgICAgIHNvbHZlKCk7CiAgICAgICAgLy9jb3V0PDwnXG4nOwogICAgfQogICAgY2VyciA8PCAiVGltZSA6ICIgPDwgMTAwMCAqICgoZG91YmxlKWNsb2NrKCkpIC8gKGRvdWJsZSlDTE9DS1NfUEVSX1NFQyA8PCAibXNcbiI7Cn0K