QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#883222#6303. InversionAMATSUKAZE#AC ✓60ms3840kbC++202.7kb2025-02-05 15:20:492025-02-05 15:20:51

Judging History

This is the latest submission verdict.

  • [2025-02-05 15:20:51]
  • Judged
  • Verdict: AC
  • Time: 60ms
  • Memory: 3840kb
  • [2025-02-05 15:20:49]
  • Submitted

answer

#include<bits/stdc++.h>
#define rep(i,s,n) for (int i = (int)(s); i < (int)(n); i++)
#define all(v) begin(v),end(v)
using namespace std;
using ll = long long;
bool chmin(auto &a, auto b){ return a > b ? a = b, 1 : 0; }
bool chmax(auto &a, auto b){ return a < b ? a = b, 1 : 0; }

// const bool LOCAL = true;
const bool LOCAL = false;
vector<int> jp;

template<typename T>
ostream &operator<<(ostream &os, const vector<T> &a){
    if (a.empty()) return os;
    os << a.front();
    for (auto e : a | views::drop(1)){
        os << ' ' << e;
    }
    return os;
}

void solve(){
    int n; cin >> n;
    if (LOCAL){
        jp.resize(n); iota(all(jp),0);
        mt19937 mt(-1);
        shuffle(all(jp),mt);
        cout << jp << endl;
    }
    // [l, r)
    auto ask = [&](int l, int r) -> int {
        if (r - l <= 1) return 0;
        if (LOCAL){
            int ret = 0;
            rep(i,l,r) rep(j,i+1,r){
                if (jp[i] > jp[j]) ret ^= 1;
            }
            return ret;
        }
        cout << "? " << l+1 << ' ' << r << endl;
        int ret; cin >> ret;
        return ret;
    };
    auto say = [&](vector<int> p){
        assert((int)(p.size()) == n);
        if (LOCAL){
            cout << p << endl;
            assert(p == jp);
        }
        cout << "!";
        rep(i,0,n){
            cout << ' ' << p[i]+1;
        }
        cout << endl;
    };
    vector<int> dp(n+1,0);
    // i th smallest is pos[i]
    vector<int> pos = {0};
    // value at i is p[i] th smallest
    vector<int> p = {0};
    rep(i,1,n){
        auto comp = [&](int val){
            int l = pos[val];
            int big = ask(l,i+1) ^ ask(l+1,i+1);
            big ^= dp[l] ^ dp[l+1];
            return big;
        };
        int le = 0, ri = i+1;
        while (ri - le > 1){
            int md = (le + ri) / 2;
            if (comp(md-1) == 1){
                ri = md;
            }
            else {
                le = md;
            }
        }
        // insert le
        vector<int> npos(i+1);
        rep(j,0,le){
            npos[j] = pos[j];
        }
        npos[le] = i;
        rep(j,le,i){
            npos[j+1] = pos[j];
        }

        vector<int> np(i+1);
        rep(j,0,i+1){
            np[npos[j]] = j;
        }
        swap(pos,npos);
        swap(p,np);
        // update dp
        int add = 0;
        for (int j = i-1; j >= 0; j--){
            add ^= int(p[j] > p[i]);
            dp[j] ^= add;
        }
        // cout << p << endl;
        // cout << pos << endl;
        // cout << dp << endl;
        // cout << endl;
    }
    say(p);
}

int main(){
    cin.tie(0)->sync_with_stdio(0);
    solve();
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3456kb

input:

3
0
0
1

output:

? 1 2
? 1 3
? 2 3
! 2 3 1

result:

ok OK, guesses=3

Test #2:

score: 0
Accepted
time: 58ms
memory: 3584kb

input:

1993
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
1
0
1
1
0
0
0
1...

output:

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

result:

ok OK, guesses=38142

Test #3:

score: 0
Accepted
time: 34ms
memory: 3712kb

input:

1887
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0...

output:

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

result:

ok OK, guesses=35824

Test #4:

score: 0
Accepted
time: 43ms
memory: 3584kb

input:

1882
1
0
1
0
0
0
0
1
0
0
0
1
1
0
1
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0...

output:

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

result:

ok OK, guesses=35689

Test #5:

score: 0
Accepted
time: 36ms
memory: 3840kb

input:

1877
0
0
1
1
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0...

output:

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

result:

ok OK, guesses=35609

Test #6:

score: 0
Accepted
time: 41ms
memory: 3584kb

input:

1871
1
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
0
0
0
1
0
1
1
1
0
1
0
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0...

output:

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

result:

ok OK, guesses=35467

Test #7:

score: 0
Accepted
time: 39ms
memory: 3584kb

input:

1994
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
? 1 3
? 2 3
? 2 3
? 2 4
? 3 4
? 3 4
? 2 5
? 3 5
? 3 5
? 4 5
? 4 5
? 3 6
? 4 6
? 4 6
? 5 6
? 5 6
? 3 7
? 4 7
? 5 7
? 6 7
? 6 7
? 4 8
? 5 8
? 6 8
? 7 8
? 7 8
? 4 9
? 5 9
? 6 9
? 7 9
? 7 9
? 8 9
? 8 9
? 5 10
? 6 10
? 7 10
? 8 10
? 8 10
? 9 10
? 9 10
? 5 11
? 6 11
? 8 11
? 9 11
? 9 11
? 10 11
? 10...

result:

ok OK, guesses=37781

Test #8:

score: 0
Accepted
time: 47ms
memory: 3712kb

input:

1990
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
0
1
1
1
1...

output:

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

result:

ok OK, guesses=38225

Test #9:

score: 0
Accepted
time: 57ms
memory: 3584kb

input:

1981
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
0
0
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1...

output:

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

result:

ok OK, guesses=38015

Test #10:

score: 0
Accepted
time: 43ms
memory: 3584kb

input:

1988
0
1
1
1
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0...

output:

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

result:

ok OK, guesses=38112

Test #11:

score: 0
Accepted
time: 56ms
memory: 3584kb

input:

1991
0
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
0
0...

output:

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

result:

ok OK, guesses=38198

Test #12:

score: 0
Accepted
time: 58ms
memory: 3584kb

input:

1996
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
1
1
0
1
0
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
1
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0...

output:

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

result:

ok OK, guesses=38180

Test #13:

score: 0
Accepted
time: 36ms
memory: 3712kb

input:

1992
1
1
1
1
1
1
1
1
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0...

output:

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

result:

ok OK, guesses=33777

Test #14:

score: 0
Accepted
time: 50ms
memory: 3712kb

input:

1988
1
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
1
1
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
1
1
0...

output:

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

result:

ok OK, guesses=36344

Test #15:

score: 0
Accepted
time: 39ms
memory: 3584kb

input:

1983
1
1
0
0
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1...

output:

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

result:

ok OK, guesses=37217

Test #16:

score: 0
Accepted
time: 32ms
memory: 3584kb

input:

1990
1
0
1
0
1
1
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
0
0
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
0
0...

output:

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

result:

ok OK, guesses=37596

Test #17:

score: 0
Accepted
time: 60ms
memory: 3584kb

input:

1989
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
0
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
0
1...

output:

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

result:

ok OK, guesses=37872

Test #18:

score: 0
Accepted
time: 50ms
memory: 3840kb

input:

1998
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
0
0...

output:

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

result:

ok OK, guesses=38167

Test #19:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

1

output:

! 1

result:

ok OK, guesses=0

Test #20:

score: 0
Accepted
time: 1ms
memory: 3584kb

input:

2
0

output:

? 1 2
! 1 2

result:

ok OK, guesses=1

Test #21:

score: 0
Accepted
time: 1ms
memory: 3456kb

input:

2
1

output:

? 1 2
! 2 1

result:

ok OK, guesses=1

Test #22:

score: 0
Accepted
time: 56ms
memory: 3840kb

input:

1997
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1...

output:

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

result:

ok OK, guesses=38305

Test #23:

score: 0
Accepted
time: 58ms
memory: 3584kb

input:

1998
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1...

output:

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

result:

ok OK, guesses=38327

Test #24:

score: 0
Accepted
time: 42ms
memory: 3712kb

input:

1999
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1...

output:

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

result:

ok OK, guesses=38349

Test #25:

score: 0
Accepted
time: 41ms
memory: 3712kb

input:

2000
1
0
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
0
1...

output:

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

result:

ok OK, guesses=38371