QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#807482#9188. Light Bulbsucup-team004100 ✓1369ms4028kbC++238.1kb2024-12-10 01:13:192024-12-10 01:13:19

Judging History

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

  • [2024-12-10 01:13:19]
  • 评测
  • 测评结果:100
  • 用时:1369ms
  • 内存:4028kb
  • [2024-12-10 01:13:19]
  • 提交

answer

#include <bits/stdc++.h>

using i64 = long long;
using u64 = unsigned long long;
using u32 = unsigned;

std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count());

constexpr bool debug = false;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
    std::fclose(stderr);
    
    int N;
    std::cin >> N;
    
    std::vector<std::string> lights(N);
    if (debug) {
        // for (int i = 0; i < N; i++) {
        //     std::cin >> lights[i];
        // }
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < N; j++) {
                // lights[i] += "HV"[rng() % 2];
                lights[i] += (i < N - 1 ? 'H' : 'V');
            }
        }
    }
    
    std::vector<std::array<int, 3>> determined;
    std::vector<std::array<int, 2>> candidates;
    std::vector<int> possible {0};
    
    int cnt[2] {};
    
    std::vector lit(N, std::vector<bool>(N));
    
    std::vector type(N, std::vector<int>(N, -1));
    std::vector candId(N, std::vector<int>(N, -1));
    
    int calls = 0;
    auto calc = [&](const std::vector<std::array<int, 2>> &q, int s) -> int {
        calls++;
        std::vector<bool> row(N), col(N);
        for (auto [x, y] : q) {
            if (type[x][y] != -1) {
                if (type[x][y] == 0) {
                    row[x] = true;
                } else {
                    col[y] = true;
                }
            } else {
                assert(candId[x][y] != -1);
                if (s >> candId[x][y] & 1) {
                    col[y] = true;
                } else {
                    row[x] = true;
                }
            }
        }
        return N * N - std::count(row.begin(), row.end(), false) * std::count(col.begin(), col.end(), false);
    };
    
    int rounds = 0;
    
    while (cnt[0] < N && cnt[1] < N) {
        if (debug) {
            rounds++;
            std::cerr << "candidates : " << candidates.size() << ", possibilities : " << possible.size() << "\n";
            for (auto [x, y] : candidates) {
                std::cerr << "(" << x << ", " << y << ") ";
            }
            std::cerr << "\n";
            for (auto s : possible) {
                for (int i = 0; i < candidates.size(); i++) {
                    std::cerr << (s >> i & 1);
                }
                std::cerr << " ";
            }
            std::cerr << "\n";
            
            int fact = 0;
            for (auto [x, y] : candidates) {
                if (lights[x][y] == 'V') {
                    fact |= 1 << candId[x][y];
                }
            }
            
            assert(std::find(possible.begin(), possible.end(), fact) != possible.end());
        }
        while (possible.size() <= 512 && candidates.size() < 31 && candidates.size() < (N - cnt[0]) * (N - cnt[1])) {
            int x = -1, y = -1;
            int tot = 0;
            for (int i = 0; i < N; i++) {
                for (int j = 0; j < N; j++) {
                    if (!lit[i][j] && candId[i][j] == -1) {
                        tot++;
                        if (rng() % tot == 0) {
                            x = i;
                            y = j;
                        }
                    }
                }
            }
            assert(x != -1);
            for (int i = possible.size() - 1; i >= 0; i--) {
                possible.push_back(possible[i] | 1 << candidates.size());
            }
            candId[x][y] = candidates.size();
            candidates.push_back({x, y});
        }
        
        std::vector<std::array<int, 2>> query;
        int E = 1E9;
        for (int t = 0; t < 64; t++) {
            int p = rng() % 100 + 1;
            std::vector<std::array<int, 2>> q;
            for (auto [a, b, c] : determined) {
                if (rng() % 100 < p) {
                    q.push_back({a, b});
                }
            }
            for (auto [a, b] : candidates) {
                if (rng() % 100 < p) {
                    q.push_back({a, b});
                }
            }
            std::map<int, int> freq;
            for (auto s : possible) {
                freq[calc(q, s)]++;
            }
            int ent = 0;
            for (auto [_, c] : freq) {
                ent += c * c;
            }
            if (ent < E) {
                E = ent;
                query = q;
            }
        }
        
        int result;
        if (debug) {
            std::vector<bool> row(N), col(N);
            for (auto [x, y] : query) {
                if (lights[x][y] == 'H') {
                    row[x] = true;
                } else {
                    col[y] = true;
                }
            }
            result = N * N - std::count(row.begin(), row.end(), false) * std::count(col.begin(), col.end(), false);
            std::cerr << result << "\n";
        } else {
            std::cout << "?\n";
            
            std::vector choose(N, std::vector<bool>(N));
            for (auto [a, b] : query) {
                choose[a][b] = true;
            }
            
            for (int i = 0; i < N; i++) {
                for (int j = 0; j < N; j++) {
                    std::cout << choose[i][j];
                }
                std::cout << "\n";
            }
            std::cout.flush();
            
            std::cin >> result;
        }
        
        {
            std::vector<int> newPossible;
            for (auto s : possible) {
                if (debug) {
                    std::cerr << s << " expected : " << calc(query, s) << "\n";
                }
                if (calc(query, s) == result) {
                    newPossible.push_back(s);
                }
            }
            possible = std::move(newPossible);
        }
        
        int maybe[2] {};
        for (auto s : possible) {
            maybe[0] |= ((1 << candidates.size()) - 1) ^ s;
            maybe[1] |= s;
        }
        
        std::vector<std::array<int, 2>> newCand;
        for (int i = 0; i < candidates.size(); i++) {
            auto [x, y] = candidates[i];
            if ((maybe[0] ^ maybe[1]) >> i & 1) {
                if (!lit[x][y]) {
                    int t = maybe[0] >> i & 1 ? 0 : 1;
                    cnt[t]++;
                    type[x][y] = t;
                    if (t == 0) {
                        for (int j = 0; j < N; j++) {
                            lit[x][j] = true;
                        }
                    } else {
                        for (int j = 0; j < N; j++) {
                            lit[j][y] = true;
                        }
                    }
                    determined.push_back({x, y, t});
                }
                candId[x][y] = -1;
            } else {
                candId[x][y] = newCand.size();
                newCand.push_back({x, y});
            }
        }
        
        for (auto &s : possible) {
            int ns = 0;
            for (int i = 0; i < candidates.size(); i++) {
                if (s >> i & 1) {
                    auto [x, y] = candidates[i];
                    if (candId[x][y] != -1) {
                        ns |= 1 << candId[x][y];
                    }
                }
            }
            s = ns;
        }
        
        std::sort(possible.begin(), possible.end());
        possible.erase(std::unique(possible.begin(), possible.end()), possible.end());
        candidates = std::move(newCand);
    }
    
    int t = cnt[0] == N ? 0 : 1;
    std::cout << "!\n";
    
    std::vector choose(N, std::vector<bool>(N));
    for (auto [a, b, c] : determined) {
        if (c == t) {
            choose[a][b] = true;
        }
    }
    
    if (debug) {
        std::cout << "calls : " << calls << "\n";
        std::cout << "rounds : " << rounds << "\n";
    }
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            std::cout << choose[i][j];
        }
        std::cout << "\n";
    }
    std::cout.flush();
    
    return 0;
}

详细

Subtask #1:

score: 11
Accepted

Test #1:

score: 11
Accepted
time: 1ms
memory: 3656kb

input:

3
9
9

output:

?
001
001
011
?
111
100
100
!
001
001
100

result:

points 1.0 points  1.0 correct, 2 queries

Test #2:

score: 11
Accepted
time: 3ms
memory: 3652kb

input:

3
9
9

output:

?
111
000
100
?
001
011
101
!
011
000
100

result:

points 1.0 points  1.0 correct, 2 queries

Test #3:

score: 11
Accepted
time: 5ms
memory: 3584kb

input:

3
7
7
7
9
9

output:

?
111
000
010
?
001
111
000
?
000
100
111
?
101
100
100
?
001
001
111
!
001
100
100

result:

points 1.0 points  1.0 correct, 5 queries

Test #4:

score: 11
Accepted
time: 4ms
memory: 3648kb

input:

3
7
9
5

output:

?
000
100
111
?
101
100
101
?
001
001
011
!
100
100
010

result:

points 1.0 points  1.0 correct, 3 queries

Test #5:

score: 11
Accepted
time: 2ms
memory: 3808kb

input:

3
7
7
9
8
8
7

output:

?
100
000
111
?
110
100
100
?
001
011
001
?
100
111
100
?
100
110
011
?
010
011
100
!
001
001
001

result:

points 1.0 points  1.0 correct, 6 queries

Test #6:

score: 11
Accepted
time: 2ms
memory: 3688kb

input:

3
7
7
6
9
5
7

output:

?
001
001
011
?
110
110
100
?
110
100
000
?
001
111
000
?
010
000
011
?
001
000
011
!
010
101
000

result:

points 1.0 points  1.0 correct, 6 queries

Test #7:

score: 11
Accepted
time: 4ms
memory: 3876kb

input:

3
7
7
8
9

output:

?
000
111
001
?
010
010
010
?
101
001
001
?
111
000
100
!
111
000
000

result:

points 1.0 points  1.0 correct, 4 queries

Test #8:

score: 11
Accepted
time: 3ms
memory: 3652kb

input:

3
6
9
7

output:

?
000
010
111
?
111
001
000
?
001
111
010
!
111
000
000

result:

points 1.0 points  1.0 correct, 3 queries

Test #9:

score: 11
Accepted
time: 3ms
memory: 3852kb

input:

3
9

output:

?
100
100
100
!
100
100
100

result:

points 1.0 points  1.0 correct, 1 queries

Test #10:

score: 11
Accepted
time: 4ms
memory: 3880kb

input:

3
7
8
7
9

output:

?
101
001
001
?
000
001
111
?
101
000
010
?
010
110
010
!
010
001
010

result:

points 1.0 points  1.0 correct, 4 queries

Test #11:

score: 11
Accepted
time: 5ms
memory: 3652kb

input:

3
7
7
7
7
7
7
7

output:

?
110
010
010
?
111
010
000
?
101
100
100
?
000
100
111
?
101
011
000
?
001
001
010
?
000
101
100
!
000
101
010

result:

points 1.0 points  1.0 correct, 7 queries

Test #12:

score: 11
Accepted
time: 3ms
memory: 3584kb

input:

3
5
7
9

output:

?
100
100
110
?
010
000
111
?
001
001
111
!
001
001
010

result:

points 1.0 points  1.0 correct, 3 queries

Test #13:

score: 11
Accepted
time: 4ms
memory: 3644kb

input:

3
9
7
8
7
8
7

output:

?
001
110
001
?
010
010
110
?
101
010
010
?
001
001
101
?
011
100
100
?
000
001
101
!
001
110
000

result:

points 1.0 points  1.0 correct, 6 queries

Test #14:

score: 11
Accepted
time: 3ms
memory: 3724kb

input:

3
9
8

output:

?
010
011
010
?
100
110
100
!
010
001
010

result:

points 1.0 points  1.0 correct, 2 queries

Test #15:

score: 11
Accepted
time: 5ms
memory: 3652kb

input:

3
7
7
7
7
7
8
6

output:

?
100
100
101
?
011
010
010
?
010
000
111
?
000
111
100
?
000
100
011
?
111
010
000
?
100
010
000
!
100
010
001

result:

points 1.0 points  1.0 correct, 7 queries

Test #16:

score: 11
Accepted
time: 2ms
memory: 3596kb

input:

3
8
8
9

output:

?
101
100
100
?
110
010
110
?
010
101
010
!
010
100
010

result:

points 1.0 points  1.0 correct, 3 queries

Test #17:

score: 11
Accepted
time: 5ms
memory: 3708kb

input:

3
7
9
7
7
9

output:

?
011
001
001
?
111
000
001
?
000
111
000
?
000
001
111
?
001
010
101
!
110
001
000

result:

points 1.0 points  1.0 correct, 5 queries

Subtask #2:

score: 11
Accepted

Dependency #1:

100%
Accepted

Test #18:

score: 11
Accepted
time: 3ms
memory: 3652kb

input:

3
9
9

output:

?
110
100
100
?
010
011
010
!
010
100
100

result:

points 1.0 points  1.0 correct, 2 queries

Test #19:

score: 11
Accepted
time: 1ms
memory: 3808kb

input:

3
9
9

output:

?
111
100
000
?
001
111
001
!
011
100
000

result:

points 1.0 points  1.0 correct, 2 queries

Test #20:

score: 11
Accepted
time: 4ms
memory: 3860kb

input:

3
7
9
9

output:

?
111
000
010
?
001
011
001
?
110
100
100
!
001
100
001

result:

points 1.0 points  1.0 correct, 3 queries

Test #21:

score: 11
Accepted
time: 4ms
memory: 3608kb

input:

3
7
8
9
8
9

output:

?
000
111
010
?
010
010
110
?
011
000
110
?
111
000
001
?
110
100
110
!
011
000
100

result:

points 1.0 points  1.0 correct, 5 queries

Test #22:

score: 11
Accepted
time: 5ms
memory: 3652kb

input:

3
7
7
8
7
7
7

output:

?
111
000
001
?
010
111
000
?
000
011
111
?
010
011
010
?
101
100
101
?
011
010
011
!
001
001
010

result:

points 1.0 points  1.0 correct, 6 queries

Test #23:

score: 11
Accepted
time: 4ms
memory: 3624kb

input:

3
9
9

output:

?
000
111
001
?
011
100
100
!
001
110
000

result:

points 1.0 points  1.0 correct, 2 queries

Test #24:

score: 11
Accepted
time: 5ms
memory: 3624kb

input:

3
7
7
8
9

output:

?
001
000
111
?
000
111
001
?
001
101
001
?
111
000
000
!
111
000
000

result:

points 1.0 points  1.0 correct, 4 queries

Test #25:

score: 11
Accepted
time: 1ms
memory: 3628kb

input:

3
8
6
7

output:

?
110
100
100
?
000
101
111
?
001
110
100
!
111
000
000

result:

points 1.0 points  1.0 correct, 3 queries

Test #26:

score: 11
Accepted
time: 4ms
memory: 3624kb

input:

3
7
9
6
7
5

output:

?
111
010
000
?
111
100
100
?
001
001
011
?
011
110
010
?
001
000
100
!
100
100
100

result:

points 1.0 points  1.0 correct, 5 queries

Test #27:

score: 11
Accepted
time: 4ms
memory: 3600kb

input:

3
8
7
7
5
9

output:

?
111
000
010
?
110
100
100
?
001
011
001
?
000
111
000
?
000
011
101
!
010
100
010

result:

points 1.0 points  1.0 correct, 5 queries

Test #28:

score: 11
Accepted
time: 4ms
memory: 3620kb

input:

3
8
8
9
9
6

output:

?
010
011
011
?
000
110
111
?
111
101
000
?
001
010
001
?
101
000
100
!
010
101
000

result:

points 1.0 points  1.0 correct, 5 queries

Test #29:

score: 11
Accepted
time: 2ms
memory: 3588kb

input:

3
5
8
7
8
7
8

output:

?
000
000
111
?
111
000
010
?
010
001
110
?
101
111
000
?
110
111
000
?
111
100
010
!
001
001
010

result:

points 1.0 points  1.0 correct, 6 queries

Test #30:

score: 11
Accepted
time: 4ms
memory: 3712kb

input:

3
8
8
7
7
8

output:

?
010
110
010
?
011
010
100
?
010
000
111
?
001
001
110
?
100
111
000
!
010
001
010

result:

points 1.0 points  1.0 correct, 5 queries

Test #31:

score: 11
Accepted
time: 4ms
memory: 3624kb

input:

3
7
8
8
8

output:

?
111
100
000
?
110
001
001
?
010
010
011
?
101
011
000
!
010
001
010

result:

points 1.0 points  1.0 correct, 4 queries

Test #32:

score: 11
Accepted
time: 4ms
memory: 3660kb

input:

3
7
9
9
8
7

output:

?
010
010
011
?
000
001
111
?
101
011
001
?
101
110
100
?
110
000
011
!
000
001
110

result:

points 1.0 points  1.0 correct, 5 queries

Test #33:

score: 11
Accepted
time: 4ms
memory: 3648kb

input:

3
9
8
6
7

output:

?
011
001
001
?
100
110
100
?
000
101
010
?
110
001
100
!
100
001
001

result:

points 1.0 points  1.0 correct, 4 queries

Test #34:

score: 11
Accepted
time: 2ms
memory: 3600kb

input:

3
7
7
7
8
9
5

output:

?
100
100
101
?
010
010
110
?
000
111
001
?
001
000
111
?
111
101
000
?
000
011
001
!
001
010
100

result:

points 1.0 points  1.0 correct, 6 queries

Test #35:

score: 11
Accepted
time: 19ms
memory: 3732kb

input:

10
70
70
50
90

output:

?
0000000000
0001010000
0000000000
0000000010
0010000100
0000001000
0000000001
0000101000
0000001000
0000000000
?
0010000000
0000010000
0000000000
0000000010
0010000100
0000001000
0000000000
0000101000
0000000000
0100000000
?
0010000000
0001010000
0000000000
0000000010
1010000100
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 4 queries

Test #36:

score: 11
Accepted
time: 26ms
memory: 3692kb

input:

10
60
70
80
90
70
90

output:

?
0000100000
0000000001
0000001000
0000000110
0001000000
0000001000
0000100000
0000000010
0000000000
0000000000
?
0001000000
0000000101
0000001000
0000000110
0001000000
0000001000
0100100000
0000000000
0000000000
0000000000
?
0001100000
0001000001
0000001000
0000000110
0001000000
0000000000
01001010...

result:

points 1.0 points  1.0 correct, 6 queries

Test #37:

score: 11
Accepted
time: 26ms
memory: 3612kb

input:

10
70
60
90
100
70

output:

?
0000000000
0000011000
0000000000
0000000010
0000000000
1000010000
1000000000
0000010000
0000100000
1000000010
?
0000000000
1000010000
0000000000
0000000000
0000000000
0000010000
1000000000
0000010000
0000000010
0000000010
?
0000101000
1000001000
0000100000
0000000010
0000000000
1000010000
10000000...

result:

points 1.0 points  1.0 correct, 5 queries

Test #38:

score: 11
Accepted
time: 21ms
memory: 3816kb

input:

10
60
76
91
76
60

output:

?
0000000000
0000000000
0000001000
1100000001
0001000000
0000000000
0000000010
1000010100
0000000000
0000010000
?
0000000100
1010000000
0000000000
0100000001
0001000000
0000000000
0000000010
0000010100
0000000000
0000010000
?
0000000100
1000000000
0000000010
1000000000
0001000000
0001000000
00000000...

result:

points 1.0 points  1.0 correct, 5 queries

Test #39:

score: 11
Accepted
time: 25ms
memory: 3660kb

input:

10
73
92
94
84
92
80

output:

?
0011001000
0000000000
1000000000
0001000000
0001001000
0000000010
0000000100
1000000000
0000000000
0000000000
?
0011001000
1101100001
1000000000
0001000000
0001000000
0000000010
0000000100
1000000000
0000100000
0000000000
?
0000001000
0101100011
1000000000
0001000000
0000001001
0000000010
00000001...

result:

points 1.0 points  1.0 correct, 6 queries

Test #40:

score: 11
Accepted
time: 43ms
memory: 3596kb

input:

10
70
64
64
76
84
76
75
82
60
64
82
52
65

output:

?
0000000100
0000000000
0000010000
0011000000
0000001000
0000000000
0100100000
1000000000
0000000000
0000010000
?
0000000100
0000000000
0000000000
0001000000
0000000000
0000000000
0100100000
1000001010
0000000010
0000010000
?
0000000100
0000001000
0000010000
0001000000
0000001000
0000000000
01001000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #41:

score: 11
Accepted
time: 38ms
memory: 3884kb

input:

8
46
43
46
54
49
59
48

output:

?
00000011
10000000
01000000
01000000
11001000
00010000
00000000
00000000
?
00000111
10000000
01000001
00000000
11001000
00110000
00000000
00000000
?
00000110
00000000
00000001
10110001
01001000
00000000
01000000
00000000
?
00000101
10000000
00000000
10110011
00001000
00010000
00001000
00010000
?
00...

result:

points 1.0 points  1.0 correct, 7 queries

Test #42:

score: 11
Accepted
time: 59ms
memory: 3660kb

input:

10
65
51
58
80
64
84
84
70
85
80
64
86
72
91
44
95

output:

?
1000000000
0001000000
1000100000
0000000000
0000010000
0000100000
0001100000
0000000000
0000000000
1100000000
?
1000000000
0001000000
1000000000
0000000000
0000000000
0100100000
0001000000
0000000000
0000000000
1000000000
?
1000000000
0000000000
1000100000
0010000000
0000010000
0100000000
00000000...

result:

points 1.0 points  1.0 correct, 16 queries

Test #43:

score: 11
Accepted
time: 48ms
memory: 3616kb

input:

9
41
66
71
65
65
75
71
66
75
69
71
72
75
45

output:

?
000000000
000000000
100000100
010000000
000000100
000000001
010000010
010000000
000000000
?
000000000
000000000
100001100
101000010
001000100
000000101
010000000
010000000
100000000
?
000000000
000000000
100001000
101000010
001000100
000100001
000010010
010000010
100000000
?
000000000
000000000
00...

result:

points 1.0 points  1.0 correct, 14 queries

Test #44:

score: 11
Accepted
time: 56ms
memory: 3880kb

input:

10
72
72
58
76
70
72
79
50
86
82
84
79

output:

?
0001100100
0001000001
0000000000
1000000000
0000000000
0100010000
0000000000
0000000000
0000000000
1000100000
?
0000100100
0001000001
0000000000
1000000000
0000100000
0100010100
0000000000
0000000000
0000100000
0000100000
?
0000100000
0000000001
0000100000
0000000000
0000100000
0100110100
00000000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #45:

score: 11
Accepted
time: 34ms
memory: 3784kb

input:

10
68
76
68
88
72
68
92

output:

?
0000001000
0000000000
0000000000
0000011000
0000001000
1000000000
0000000100
0000100000
0000100000
0010000010
?
0000001000
0000100000
0000000000
0000001000
0000000000
0000000000
1000000110
0000100000
0000100001
0010000000
?
0000001000
0100000000
0000000000
0001001000
0100001000
1000000000
10000000...

result:

points 1.0 points  1.0 correct, 7 queries

Test #46:

score: 11
Accepted
time: 36ms
memory: 3868kb

input:

10
72
76
92
93
88
79
93
72
88

output:

?
0000000000
0001000000
0010000101
0001000000
0000000000
0000000000
0000000000
0100000000
1000000000
0010010000
?
0000100100
1001000000
0010000101
0000000001
0000000000
0000000000
0000000000
0100000000
0000000000
0010010000
?
0000100100
1000000000
0010000101
0001000001
1000100000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 9 queries

Test #47:

score: 11
Accepted
time: 36ms
memory: 3728kb

input:

10
64
64
37
68
84
90
73

output:

?
0010000000
0100100000
0000010000
0011000000
0000000000
0010000000
1000000000
0000000000
0000000000
0000001000
?
0000010000
0100100000
0000010000
0011000000
0001000000
0010000000
1000000000
0000000000
1000000000
0000000000
?
0000010000
0000100000
0000010000
0010000000
0000000000
0010000000
00000100...

result:

points 1.0 points  1.0 correct, 7 queries

Test #48:

score: 11
Accepted
time: 47ms
memory: 3892kb

input:

10
68
60
76
79
86
93
91
60
70
65
96
98
97

output:

?
1000100000
0000100000
0000000010
0100000000
0010001000
0010000100
0000000000
0000000000
0000000000
0000000010
?
0000000000
0000100000
0000000010
0100000000
0011001000
1010000100
0000000000
0000000000
1000000000
0000000000
?
0010100000
0000100000
0000000010
0000000100
0001001100
0000000100
00000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #49:

score: 11
Accepted
time: 34ms
memory: 3764kb

input:

10
60
50
82
86
68
64
84
72
80
90
82

output:

?
0010000000
0000000000
0000000100
0000000000
0000100000
0000000000
0000100000
0001000011
0000000000
1010001000
?
0010000000
0000000000
0001010110
0000000000
0000000000
0000000000
0000100000
0001100011
0000000000
1010001000
?
0010000000
0000100100
0000000100
1000000000
0000100000
0110010000
00001000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #50:

score: 11
Accepted
time: 34ms
memory: 3812kb

input:

10
64
82
82
84
84
86
80
82
82
100

output:

?
0000010000
0000001001
0000000100
0000000100
0000010000
0000010000
0000000000
0000000000
0110000000
0000000000
?
0000010000
0000001001
0000000100
0000000100
0010000000
0000010000
0000000010
0000000001
0010000000
0000000000
?
0000010001
0000000001
0010000100
0000000000
1010110000
0000100000
00000000...

result:

points 1.0 points  1.0 correct, 10 queries

Test #51:

score: 11
Accepted
time: 48ms
memory: 3716kb

input:

10
60
73
68
82
76
76
88
73
75
90
70
52
94

output:

?
0000100000
1000000000
0010000000
0000000000
1000000000
0000000100
0000000000
0000100000
0000000000
0000001110
?
0100110000
1000000000
0010000000
0000000000
0000000000
0000001100
0000000000
0000000000
0000000000
0000001010
?
0000010110
1000000000
0010000000
0000000010
1000000000
0000011000
00000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #52:

score: 11
Accepted
time: 30ms
memory: 3736kb

input:

10
73
64
80
88
76
76
92
94
80
86

output:

?
0000000000
0000001000
0000010000
0001000000
0000000010
0000000011
0100000000
1000101000
0000000000
0000000000
?
0000100000
0000000000
0000000100
0000000000
0001000110
0000000010
0100000000
1000101000
0000000000
0000000000
?
0001000000
0000000000
0000010100
0000000000
0000001010
0000000001
00000000...

result:

points 1.0 points  1.0 correct, 10 queries

Test #53:

score: 11
Accepted
time: 47ms
memory: 3904kb

input:

10
68
60
76
76
86
79
64
88
70
55
79
88
97

output:

?
0010001000
0000000000
0000000000
0000000000
0000000001
0000100010
0000010000
0000000010
0000100000
0000000101
?
0000001000
0000000000
0000000000
0001000000
0000000011
0000000010
0000010000
0000100010
0000100000
0000000001
?
0000001000
0001000000
0000000000
0001000000
0000000011
0010100010
00000100...

result:

points 1.0 points  1.0 correct, 13 queries

Test #54:

score: 11
Accepted
time: 43ms
memory: 3736kb

input:

10
64
51
65
68
80
80
75
88
60
58
94
64
76

output:

?
0000111000
0000000100
0000000100
1000000000
0000000000
0000000000
0010000000
0000001000
0010000001
0000000000
?
0000111000
0000000100
0000000000
1000000000
0000000000
0000000000
0000010000
0000000000
0000000001
1000000000
?
0000001001
0000000000
0000000100
1000000000
0000000000
0000000000
00001100...

result:

points 1.0 points  1.0 correct, 13 queries

Test #55:

score: 11
Accepted
time: 39ms
memory: 3656kb

input:

10
55
72
84
82
88
84
82
72
86
80
97

output:

?
0001000000
0000000000
0100000000
0000001100
0001000000
0010010000
0000000000
0000001000
0000000000
0000000100
?
0000001000
1010000000
1100000001
0000001101
0000000000
0000010000
0000000000
0000001000
0000010000
0000000100
?
1001100000
0010000000
1100000001
1000000101
0000000000
0010000000
00000000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #56:

score: 11
Accepted
time: 39ms
memory: 3660kb

input:

10
73
82
82
80
64
93
90
94
79
80
97

output:

?
0001000000
0000001000
0000000000
0000000001
0010000000
0010011000
0100000000
0100000000
0100000000
0000000000
?
0001011001
0100001000
0000001000
0000001000
0010000000
0010011000
0100000000
0100000000
0100000000
0000000000
?
0000011001
0000001010
0000001000
0000001001
0010000000
0010011000
01000000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #57:

score: 11
Accepted
time: 47ms
memory: 3600kb

input:

10
65
58
70
51
84
80
80
52
64
86
51
52

output:

?
1000000000
0000110000
0000000000
0000000001
0000000000
0000000001
0000000000
0010000000
0001000000
0001000101
?
1000000000
0000110000
0000000000
0000000001
0000000001
0000000001
0000000000
0010000000
0100000000
0000000001
?
1000000001
0000000000
0000000000
0000000001
0000000001
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #58:

score: 11
Accepted
time: 43ms
memory: 3696kb

input:

10
70
68
64
65
85
64
95
86
84
76
98
88
72
64

output:

?
0000000000
0100000001
0100000000
0000100010
0000001000
0110000000
0000100000
0000000001
0000000000
0000000000
?
0000000000
0100000001
0000000010
0000000010
0000001000
0110000000
0000100000
0000000001
0000000000
0000000000
?
0000000000
0100000000
0000000010
0000000010
0000001000
0010001000
00000010...

result:

points 1.0 points  1.0 correct, 14 queries

Test #59:

score: 11
Accepted
time: 62ms
memory: 3736kb

input:

10
52
60
58
72
80
88
91
80
88
90
100
75
92
92
51

output:

?
0000000000
0000000000
0101101000
0010000000
0000000100
0000000000
0000000000
0000000000
0000000000
0000010000
?
0101100000
0000000000
0000001000
0010000000
0001000100
0000000000
0000000000
0000001000
0000000000
0000010000
?
0001000000
0000000000
0010101000
0010010000
0001000000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 15 queries

Test #60:

score: 11
Accepted
time: 55ms
memory: 3868kb

input:

10
64
65
72
70
70
75
88
88
80
64
70
72
95
86

output:

?
0001000000
0000000010
0000100001
0000010000
0001000000
0001000000
0000000000
0000000000
1000000000
0000100000
?
0001000000
0001000010
0100100001
0000000000
0001000000
0001000000
0000000000
0000000000
1000000000
0000001000
?
0001000000
0001000000
0100100001
0000010000
0000100000
0001000000
00000000...

result:

points 1.0 points  1.0 correct, 14 queries

Test #61:

score: 11
Accepted
time: 15ms
memory: 3716kb

input:

10
64
37
60
91

output:

?
0100100000
0000001100
0000000000
0000000000
1000000000
0000000000
0100000000
0000001000
0000001100
0000000001
?
0100100000
0001001100
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000100
0000000001
?
0000000000
0000000000
0000001000
0000000000
1001000000
0000000010
01000000...

result:

points 1.0 points  1.0 correct, 4 queries

Test #62:

score: 11
Accepted
time: 25ms
memory: 3632kb

input:

10
64
37
50
92
80
90
50

output:

?
0001000000
0100000100
0000000000
0010000000
1000001110
0000000000
0000000000
0001000000
0000000000
0000000000
?
1001000000
0000000100
0000000000
0000000000
0000000100
0000000000
0000000000
0001000000
0000000100
0100000000
?
0001000000
0000000000
0000000000
0000000010
1000001010
1000000010
00000000...

result:

points 1.0 points  1.0 correct, 7 queries

Test #63:

score: 11
Accepted
time: 24ms
memory: 3700kb

input:

9
57
65
63
81
69
72

output:

?
000000000
010000000
100000011
000000000
010000000
010000010
100000000
000001000
000010000
?
000000010
010000000
000000011
000000000
010100000
000000010
100000000
000001000
000010000
?
000100000
000000000
100000011
000000000
010100011
000000000
000000000
000001000
000010000
?
000100010
010000000
00...

result:

points 1.0 points  1.0 correct, 6 queries

Test #64:

score: 11
Accepted
time: 21ms
memory: 3604kb

input:

9
57
69
65
81

output:

?
100000000
110100000
000000010
000000010
000000000
000000000
001000001
000000100
000000001
?
101000000
110100000
000000010
000000010
000000000
000000000
001000000
000000100
000000101
?
101000000
100100010
000000010
000000000
000000010
100000010
001000001
000000100
000000000
?
001000000
010000100
00...

result:

points 1.0 points  1.0 correct, 4 queries

Test #65:

score: 11
Accepted
time: 8ms
memory: 3604kb

input:

8
56
50
40

output:

?
01000000
10010010
00000000
00000000
00100101
00000010
01000000
00000000
?
00001000
10011000
00001000
00001000
00101001
00000000
00001000
00001010
?
00001000
00011010
00001000
00000000
00100000
00001000
01001000
00000000
!
00000000
10010010
00000000
00000000
00100101
00000000
01001000
00000000

result:

points 1.0 points  1.0 correct, 3 queries

Test #66:

score: 11
Accepted
time: 25ms
memory: 3680kb

input:

8
43
48
56
52
50
64
57

output:

?
00000100
00000000
11010000
00000010
00000011
00000000
00000010
00000100
?
00000100
00000000
11011000
00000000
00100011
01000000
00110000
00000100
?
00000000
00000010
00010100
00000010
00100011
01100010
00110100
00000100
?
00000000
01000000
00000100
00001010
00100001
00100000
00010110
00000100
?
00...

result:

points 1.0 points  1.0 correct, 7 queries

Test #67:

score: 11
Accepted
time: 4ms
memory: 3808kb

input:

7
42
28

output:

?
0101000
0000100
0000000
1100110
0000001
0000001
0000000
?
0011000
0000000
0000000
0100000
1010000
0000000
0000000
!
0011000
0000000
0000000
1100110
0000000
0000001
0000000

result:

points 1.0 points  1.0 correct, 2 queries

Test #68:

score: 11
Accepted
time: 28ms
memory: 3884kb

input:

7
43
39
34
33
43
49
43

output:

?
0000010
1000010
0000010
0111001
0100000
0001000
0000000
?
0000010
0000010
0000010
0101001
0000000
0011000
0000001
?
0000000
0000010
0000000
0110001
0101100
0011010
0000000
?
0000000
0000010
0000000
0001010
1100100
0000010
0000000
?
0000001
0000010
1100010
0000011
1001000
0001000
0000001
?
0100111
...

result:

points 1.0 points  1.0 correct, 7 queries

Test #69:

score: 11
Accepted
time: 48ms
memory: 3660kb

input:

10
44
36
65
72
79
85
92
80
80
68
96
68
85

output:

?
0010000000
0000000000
1000000000
0000010000
0000000000
0011000111
0000000000
0000000000
0000000000
0000000000
?
0000000000
0000000000
1000000000
0010010011
0000000000
1011000111
0000000000
0000000000
0000000000
0000000000
?
0010000000
0000000010
1000000000
0010010011
0000000000
1011000100
00000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #70:

score: 11
Accepted
time: 31ms
memory: 3656kb

input:

10
64
64
64
91
86
92
82
55
76

output:

?
1000000000
0000000000
1000100000
1000000000
0000000000
0000000000
0010000010
0000000100
0000001010
1000000000
?
1000000000
0001000000
1000100000
0000000000
0000000000
0000000000
0010000000
0000000100
0000001010
0000000100
?
1000000000
0000000010
1000000000
0000000000
0000000000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 9 queries

Test #71:

score: 11
Accepted
time: 28ms
memory: 3884kb

input:

10
72
60
68
72
92
82
60
93
28
72
72

output:

?
0001000000
0000100000
0000000001
0000010000
0000000000
1000000000
0000001000
1010010000
0000000000
0000000010
?
0001000000
0000000000
0000000000
0000010000
0000000000
1010010000
0000001000
0010010000
0000000000
0000000010
?
0001000000
0010000000
0000000001
0000000000
0000000000
1010010000
00000010...

result:

points 1.0 points  1.0 correct, 11 queries

Test #72:

score: 11
Accepted
time: 49ms
memory: 3656kb

input:

10
70
58
70
60
91
70
88
92
82
58
88
84

output:

?
0011000000
0001000000
0000000100
0000000000
0000000000
1000000010
0000000000
0001001100
0000000010
0000000000
?
0001000000
0001000000
0000000100
0000000001
0000000000
0000000010
0001000000
0001001000
0000000010
0000000000
?
0011000000
0000000000
0000000000
0000000001
0000000010
1000000011
00010000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #73:

score: 11
Accepted
time: 53ms
memory: 3604kb

input:

10
58
44
52
79
84
88
95
79
85
88
20

output:

?
0001000000
0000000000
0000000000
0000001000
0100000000
0100000000
0000000000
0000000000
0001001100
1000011000
?
1000000000
1000000000
0000000000
0000000000
0000000000
0100000000
0000000000
0000000000
0001001100
0000001000
?
1001000000
1000000000
0000000000
0000000000
0100000000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #74:

score: 11
Accepted
time: 32ms
memory: 3660kb

input:

10
76
72
86
86
70
86
79
95
88
46

output:

?
0000010101
1010100000
0000001000
0000000010
0000000000
0000000000
0000000000
1000001000
0000000000
0000000000
?
1000010100
1010100000
0000000100
0000000000
0000000000
0001000000
0000000000
1000001001
0000000000
0000000000
?
1000010101
0010100010
0000001100
0000000010
0001000000
0001000000
00000000...

result:

points 1.0 points  1.0 correct, 10 queries

Test #75:

score: 11
Accepted
time: 49ms
memory: 3892kb

input:

10
65
65
76
84
85
91
88
72
91
82
80
94
75
52

output:

?
0000000000
0001000001
0000010000
0100001100
0000000000
0000000000
0000010000
0000000000
0000000000
0000100011
?
0000010000
0001000000
0000010000
0000000000
0000000000
0000000000
0000010000
0001000000
0000000000
0000100011
?
0000000000
0101000001
0000010000
0000001100
0000001010
0000000000
00000100...

result:

points 1.0 points  1.0 correct, 14 queries

Test #76:

score: 11
Accepted
time: 14ms
memory: 3688kb

input:

5
22
17
20

output:

?
01000
00111
00000
11110
00100
?
01000
00010
10010
00010
00000
?
00000
00001
10011
00000
00100
!
01000
00001
10010
00000
00100

result:

points 1.0 points  1.0 correct, 3 queries

Subtask #3:

score: 78
Accepted

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Test #77:

score: 78
Accepted
time: 0ms
memory: 3808kb

input:

3
6
6

output:

?
111
011
000
?
000
100
111
!
010
010
010

result:

points 1.0 points  1.0 correct, 2 queries

Test #78:

score: 78
Accepted
time: 3ms
memory: 3600kb

input:

3
9
9
9
3

output:

?
111
010
000
?
010
010
101
?
010
111
000
?
010
010
010
!
101
000
010

result:

points 1.0 points  1.0 correct, 4 queries

Test #79:

score: 78
Accepted
time: 4ms
memory: 3712kb

input:

3
7
7
5
9

output:

?
111
100
000
?
100
000
111
?
011
010
010
?
110
100
100
!
001
100
001

result:

points 1.0 points  1.0 correct, 4 queries

Test #80:

score: 78
Accepted
time: 4ms
memory: 3628kb

input:

3
7
8
7
9
7

output:

?
000
111
100
?
101
101
100
?
000
001
111
?
010
001
101
?
101
001
011
!
100
100
010

result:

points 1.0 points  1.0 correct, 5 queries

Test #81:

score: 78
Accepted
time: 4ms
memory: 3828kb

input:

3
8
7
9
8
5

output:

?
000
111
011
?
100
100
011
?
001
001
011
?
001
010
101
?
010
010
010
!
001
001
001

result:

points 1.0 points  1.0 correct, 5 queries

Test #82:

score: 78
Accepted
time: 3ms
memory: 3692kb

input:

3
9
7
7
9
7

output:

?
000
111
100
?
100
100
111
?
001
001
111
?
111
000
110
?
100
110
001
!
000
111
000

result:

points 1.0 points  1.0 correct, 5 queries

Test #83:

score: 78
Accepted
time: 4ms
memory: 3588kb

input:

3
7
8
7
9
9

output:

?
001
001
001
?
010
110
110
?
001
100
011
?
011
101
000
?
011
000
101
!
011
100
000

result:

points 1.0 points  1.0 correct, 5 queries

Test #84:

score: 78
Accepted
time: 3ms
memory: 3656kb

input:

3
8
6
7
7

output:

?
011
010
010
?
000
111
010
?
110
000
101
?
100
100
100
!
111
000
000

result:

points 1.0 points  1.0 correct, 4 queries

Test #85:

score: 78
Accepted
time: 3ms
memory: 3712kb

input:

3
9

output:

?
100
100
100
!
100
100
100

result:

points 1.0 points  1.0 correct, 1 queries

Test #86:

score: 78
Accepted
time: 2ms
memory: 3588kb

input:

3
7
7
5

output:

?
000
111
100
?
011
001
001
?
100
101
100
!
100
010
001

result:

points 1.0 points  1.0 correct, 3 queries

Test #87:

score: 78
Accepted
time: 4ms
memory: 3588kb

input:

3
7
5
9

output:

?
100
100
101
?
010
000
111
?
000
111
010
!
010
101
000

result:

points 1.0 points  1.0 correct, 3 queries

Test #88:

score: 78
Accepted
time: 4ms
memory: 3652kb

input:

3
9
7
9
8
9

output:

?
000
111
001
?
010
011
010
?
111
001
001
?
001
010
101
?
001
001
101
!
000
110
001

result:

points 1.0 points  1.0 correct, 5 queries

Test #89:

score: 78
Accepted
time: 4ms
memory: 3656kb

input:

3
8
7
7
9
9

output:

?
100
100
101
?
111
100
000
?
000
001
111
?
000
110
011
?
011
110
000
!
000
110
001

result:

points 1.0 points  1.0 correct, 5 queries

Test #90:

score: 78
Accepted
time: 4ms
memory: 3652kb

input:

3
9
8
9
8
7

output:

?
110
110
010
?
100
011
100
?
110
100
100
?
110
001
001
?
010
010
010
!
010
100
010

result:

points 1.0 points  1.0 correct, 5 queries

Test #91:

score: 78
Accepted
time: 4ms
memory: 3652kb

input:

3
7
9
9

output:

?
001
111
000
?
001
000
111
?
111
100
000
!
001
000
110

result:

points 1.0 points  1.0 correct, 3 queries

Test #92:

score: 78
Accepted
time: 5ms
memory: 3648kb

input:

3
7
7
7
9

output:

?
001
101
001
?
000
111
011
?
000
010
111
?
010
111
010
!
010
100
010

result:

points 1.0 points  1.0 correct, 4 queries

Test #93:

score: 78
Accepted
time: 4ms
memory: 3652kb

input:

3
8
9
5
6
7

output:

?
111
000
100
?
010
101
010
?
010
010
010
?
000
001
011
?
100
111
000
!
010
101
000

result:

points 1.0 points  1.0 correct, 5 queries

Test #94:

score: 78
Accepted
time: 37ms
memory: 3732kb

input:

10
70
50
90
90
70
100
90
60

output:

?
0000001000
0100100000
0000000000
0000000000
1000010000
1000000000
0000000010
0000000010
0000000000
0010000000
?
0000000000
0100000000
0000000000
0000000000
0000010010
1100000000
0000000010
0000000000
0000000000
0010000000
?
0000001000
0000110000
1000000000
0000000000
0000010000
1100010000
00000000...

result:

points 1.0 points  1.0 correct, 8 queries

Test #95:

score: 78
Accepted
time: 18ms
memory: 3696kb

input:

10
70
80
90

output:

?
0000001000
0000010010
0000010000
0000000000
0001000000
0000000000
0000000000
1010000000
0000101000
0000100000
?
0100001000
0000010010
0000000000
0000000000
0001000001
0000000000
0000000000
1000000000
0000001000
0000100000
?
0100000100
0000000110
0000010100
0000000100
0001000100
0000000100
00000001...

result:

points 1.0 points  1.0 correct, 3 queries

Test #96:

score: 78
Accepted
time: 12ms
memory: 3888kb

input:

10
80
90
73

output:

?
0000100000
0001000000
0000001000
0000000000
0001001000
0000010000
0110000000
0100000000
0000000000
0000010000
?
0000100000
0000000000
0000001000
0010101111
0000001000
0000010000
0010000000
0100000000
0011000000
0000010000
?
0000100000
0001000000
0000001000
0010101011
0000001000
0000000000
00100000...

result:

points 1.0 points  1.0 correct, 3 queries

Test #97:

score: 78
Accepted
time: 41ms
memory: 3812kb

input:

10
51
60
76
68
82
88
93
85
80
79

output:

?
0000000000
0000000010
0000000000
0000000000
0000010000
0000010100
0100101100
0000000000
1000010000
0000000000
?
0000000000
0010000010
0000000000
0000000000
0000000000
0000010000
0100101100
0000000000
0000010000
0000010000
?
0100000000
0010000010
0000001000
0000000000
0000010000
0000010100
01000011...

result:

points 1.0 points  1.0 correct, 10 queries

Test #98:

score: 78
Accepted
time: 33ms
memory: 3884kb

input:

10
52
60
60
79
79
84
82
93
95

output:

?
0000000000
0000000100
0000000100
0000001100
0000100000
0000000000
0000000000
0000100000
0000110001
1000000000
?
0000000000
0000000101
0000000100
0000000100
0000100000
0000000000
1000000000
0000000000
0000010001
1000000011
?
0000000000
0000000001
0000000000
0000001100
0000000100
0000100000
10000000...

result:

points 1.0 points  1.0 correct, 9 queries

Test #99:

score: 78
Accepted
time: 34ms
memory: 3612kb

input:

10
76
84
76
91
94
93
86

output:

?
1000000000
0001000000
0000000100
0000000000
1100000000
0100000000
0000000000
0010000000
0001000000
0000000010
?
1000000010
0001000000
0100000100
0010001001
0000001000
0100000000
0000000000
0010000000
0001000000
0000000010
?
1000000000
0000000100
0000000100
0010000001
0100001000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 7 queries

Test #100:

score: 78
Accepted
time: 49ms
memory: 3892kb

input:

8
44
40
44
52
48
52
54
48
49
56
50
48
46
46

output:

?
00000000
01000000
00000001
00000000
11000000
00100000
00000000
00101110
?
00000000
01000000
00000001
00000000
00000000
00000100
00000100
00101110
?
00000000
01000000
00000000
00010000
10011000
00100100
00000100
00000100
?
00000000
01000000
00000001
00010000
11110001
00000100
00000100
00001110
?
00...

result:

points 1.0 points  1.0 correct, 14 queries

Test #101:

score: 78
Accepted
time: 44ms
memory: 3724kb

input:

10
72
65
76
80
76
65
76
92
95
80
64
76
96
76
80

output:

?
1000100000
0000000000
0001000000
0100101000
0000100000
0000000000
0000010001
0000000000
0000000000
0000000100
?
1100100000
0000000000
0001000100
0000001000
0000100000
0000000000
0000000001
0000000000
0000000000
0000000100
?
1100000000
0000000000
0011000100
0100100000
0000100000
0001000000
00000100...

result:

points 1.0 points  1.0 correct, 15 queries

Test #102:

score: 78
Accepted
time: 32ms
memory: 3564kb

input:

9
56
53
51
63
71
57
81
61
39
46

output:

?
000001000
000000000
000110000
100010000
000011000
010000000
000000000
000001000
000000100
?
000000000
000000000
000010000
100010001
000010000
000000000
000000000
000101000
000000100
?
000001000
000000000
000011101
000000001
000001000
010000000
000000000
000101000
000010000
?
000100000
000000000
00...

result:

points 1.0 points  1.0 correct, 10 queries

Test #103:

score: 78
Accepted
time: 40ms
memory: 3652kb

input:

10
65
58
86
80
88
76
76
92
76
92

output:

?
0010000000
0000000000
0000000000
0000000000
0000000010
1000000000
0100000000
0100100000
1000000101
0000000001
?
0000000000
0000000000
0000000100
0000000000
0000001010
0000000000
0100000000
0100100000
1000000101
0000000001
?
0010000000
0000000000
0000000000
0000000000
0001001010
1000000000
01000100...

result:

points 1.0 points  1.0 correct, 10 queries

Test #104:

score: 78
Accepted
time: 48ms
memory: 3668kb

input:

10
60
68
72
64
82
79
84
84
88
84
76
94

output:

?
0000000010
0001000000
0000000111
0000000000
0001000010
0100000000
0000000000
0001000000
0000000000
0000000001
?
0000000010
0001000000
0000000011
0000000000
0001000111
0100000000
0010000000
0001000000
0000000000
0000000001
?
0000000000
0000000001
0000000010
0000000000
0001000111
0100000001
00000000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #105:

score: 78
Accepted
time: 17ms
memory: 3596kb

input:

10
82
92
88
76
46
92

output:

?
0000100000
0000001000
0000000000
0000000000
0000010100
1000000000
0000010000
0001000000
0000000000
1100000010
?
0010110001
0000001000
0000000000
0000000000
0000010000
0000000000
0000010000
0011000000
0000000001
1100000011
?
1010110001
0000001000
0000000000
0000000000
0000000001
1000000000
00000000...

result:

points 1.0 points  1.0 correct, 6 queries

Test #106:

score: 78
Accepted
time: 40ms
memory: 3616kb

input:

10
64
55
68
93
93
92
91
84

output:

?
0000100000
0010001000
0000000000
0000000000
0000000000
0000000000
0000100010
0000010100
1000010000
0000000010
?
0000100000
0000001000
0000000000
0000000000
0000010000
0000000000
0000100010
0000010100
0000010000
0000001010
?
0000100000
0000001000
0000000000
0000100000
0000010010
0000000000
00001000...

result:

points 1.0 points  1.0 correct, 8 queries

Test #107:

score: 78
Accepted
time: 19ms
memory: 3892kb

input:

10
60
80
86
84
60
95

output:

?
0000000000
0110000000
0000000000
0100000010
0000000100
0000000000
1000001000
0000100000
0000010000
0000000000
?
0000000000
0100000000
0000000000
0100000010
0000000100
0000000010
1000001010
0000100000
0000010000
0001000000
?
0000001011
0010000000
1010000010
0010000000
0000000000
0000000010
10000000...

result:

points 1.0 points  1.0 correct, 6 queries

Test #108:

score: 78
Accepted
time: 44ms
memory: 3812kb

input:

10
68
68
65
82
76
86
86
88
82
86
55
94
86

output:

?
0000100010
0000000000
0010000000
1000000100
0000000100
0000000010
0000000100
0000000000
0000000000
0000001000
?
0000101010
0000000000
0010000000
1001000000
0000000100
0000100000
0000000000
0000000000
1000000000
0000001000
?
0100000010
0000000000
0010000001
1001000100
0000000100
0000100010
00000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #109:

score: 78
Accepted
time: 28ms
memory: 3736kb

input:

10
68
76
82
91
73
86
90
90
65
92

output:

?
0000000000
0000010000
0000000000
0000000100
0100000000
0000010001
0100000010
0000001000
0000000000
0010100000
?
0000000000
0000000000
0010000000
0000000100
0100000000
0000010001
0000000010
0000001000
0010000000
0010000000
?
0010000000
0000010000
0010000010
0000000100
0000000001
0000000001
01000000...

result:

points 1.0 points  1.0 correct, 10 queries

Test #110:

score: 78
Accepted
time: 40ms
memory: 3696kb

input:

10
73
65
64
82
91
72
84
58
46
52
86

output:

?
0010000000
1000001000
0000010000
0000000000
0000000000
0000001000
0000000001
0000000000
0001100000
0100000000
?
0010000000
1000001000
0000010000
0000000000
0100000000
1000001000
0000000000
1100000000
0000100000
0100100000
?
0000100000
1000000000
0000010100
0000100000
0000000000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #111:

score: 78
Accepted
time: 43ms
memory: 3560kb

input:

10
55
68
73
73
64
72
80
79
92
94
88

output:

?
0000000000
0000000000
0000000000
0000010000
0010000000
0101000000
1000000000
0010000000
0001000000
0001100000
?
0000010000
0000000000
0000000000
0000010000
0000000000
0100000000
0000100000
0010100000
0000100001
1101100000
?
0000000001
0000000001
0000100000
0000010010
0000000000
0001000000
10001000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #112:

score: 78
Accepted
time: 46ms
memory: 3564kb

input:

10
70
50
80
73
82
84
72
68
96
68
44
75

output:

?
0000000000
0100011000
0000001000
1000001000
0000000000
0000000000
0000000010
0000000000
0011000000
1000000000
?
0000000000
0100001000
0000000000
0000001000
0000000000
0000000000
0000000010
0000000000
1001001000
1000000000
?
0000000000
0000011000
1000001000
1100011010
0000001000
0000000100
00010000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #113:

score: 78
Accepted
time: 36ms
memory: 3656kb

input:

10
76
82
84
64
86
76
88
82
98
96

output:

?
0000000000
0010000100
0000100000
0000010000
0010000000
1000000010
0100100000
0000000000
0000000000
1000000000
?
0000001000
0010000100
0000100000
0000010001
0010000000
0000010010
0100100000
0000000000
0000000000
1000000000
?
0000001000
0000000100
0000100000
0000110001
0010000000
1000010000
01000000...

result:

points 1.0 points  1.0 correct, 10 queries

Test #114:

score: 78
Accepted
time: 40ms
memory: 3692kb

input:

10
64
60
84
82
92
79
79
76
75
76
92
88
90

output:

?
0010000000
0000000000
0100000000
0000000100
0010001010
0000010000
0010000000
0001000000
0000000100
0000000000
?
0010000000
0000000001
0100000000
0000000101
0010001000
0000000100
0010000000
0001000000
0000000000
0000000000
?
0010000000
0000001000
0100000000
0000100101
0010000010
0000010100
00100000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #115:

score: 78
Accepted
time: 49ms
memory: 3728kb

input:

10
82
92
91
82
86
84
95
92
86
85
86
96
84

output:

?
1000000000
0100000000
0000100000
0000000000
0000100000
0000100000
0000000010
0110000000
0100000000
0010000000
?
1000000000
0100000000
0000101000
0010000000
0010100000
0000100000
0000000010
0110000000
0101010000
0001000000
?
1000000000
0100001000
0000001000
0010000000
0010000000
0000000010
00000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #116:

score: 78
Accepted
time: 45ms
memory: 3816kb

input:

10
65
72
64
76
86
90
94
88
93
95
64

output:

?
0000000000
0000000000
0010000000
0010000000
0000000000
0110000000
0000010000
0000000010
0000001000
0010000000
?
0100000000
0000000000
0010000000
0110000000
0000000000
0010000000
0000010000
0000000010
0010000000
1010000100
?
0100000000
0000000000
0010000000
0101000000
0000000000
0110000000
00000100...

result:

points 1.0 points  1.0 correct, 11 queries

Test #117:

score: 78
Accepted
time: 44ms
memory: 3884kb

input:

10
65
65
76
92
80
88
86
96
90
82
82
80
65
19

output:

?
0000000000
0000000010
0000000000
0000000000
1100001000
0000010100
0000001000
0000000001
1000000000
1000000000
?
0000000000
0000000010
0000000000
0000000000
0000001000
0000010100
0000001000
0000001001
0000000000
1100000000
?
0000000000
0000000010
0000000000
0000010000
1100001000
0000010000
00000000...

result:

points 1.0 points  1.0 correct, 14 queries

Test #118:

score: 78
Accepted
time: 56ms
memory: 3616kb

input:

10
58
65
82
80
64
90
86
90
52
76
82
85
76
80
92

output:

?
0010000100
0000000000
0001010000
1000000001
0000000000
0000000000
0000001000
0000000100
0000000000
0100000000
?
0000000100
0000000000
0010010000
1000000000
0000000000
1000000001
0000000000
0000000100
0000000000
0100000000
?
0010000000
0000000000
0011010000
1000001010
0000000000
1000000101
00100010...

result:

points 1.0 points  1.0 correct, 15 queries

Test #119:

score: 78
Accepted
time: 40ms
memory: 3860kb

input:

10
75
75
64
79
84
85
80
82
91

output:

?
0010010000
0000000000
0010000000
0010000000
0000000001
0101000100
0000000000
0000000000
0000000010
0000010000
?
0010010000
0000001000
0010000000
0010000001
0000000000
0001000100
0000000000
0000000010
0000000010
0000000100
?
0010000000
0000001000
0000000000
0010010000
0000000011
0100000000
00000000...

result:

points 1.0 points  1.0 correct, 9 queries

Test #120:

score: 78
Accepted
time: 17ms
memory: 3812kb

input:

10
64
40
80
91

output:

?
0000000011
0000000000
0001000000
0000000000
0000000001
0000010000
0100000000
0000000000
0101000000
0001010000
?
0000000011
0000000000
0000000000
0000000000
0000000001
0000000000
0100000000
0000000000
0000000000
0001110000
?
0000000001
0001000000
0001000000
0000001100
0000000001
0000000000
01000000...

result:

points 1.0 points  1.0 correct, 4 queries

Test #121:

score: 78
Accepted
time: 29ms
memory: 3884kb

input:

10
64
73
92
92
64
80

output:

?
0000000000
1100000000
0001000000
0000000001
0100000000
0000000000
0000000010
0100000000
0000100000
0000100000
?
0000000000
0100000000
0000000000
0000000001
0110000000
0000000000
0000000010
0100000000
1000101000
0000000000
?
0000000000
1100010100
0101000000
0000000001
0110000100
0000000000
00000001...

result:

points 1.0 points  1.0 correct, 6 queries

Test #122:

score: 78
Accepted
time: 11ms
memory: 3880kb

input:

9
63
72
57
73
73
54

output:

?
001010000
001000000
100000011
000000000
000000100
000100000
000000000
001000000
000000000
?
000010000
100000000
000000011
000000000
000000100
000100000
000000001
111000000
000000000
?
000001000
001000000
100000001
000001000
000001000
000101000
000010000
101001000
000000000
?
001010000
001000000
10...

result:

points 1.0 points  1.0 correct, 6 queries

Test #123:

score: 78
Accepted
time: 30ms
memory: 3884kb

input:

9
61
53
57
66
60
57
75
72
65

output:

?
100000000
010000000
010000001
000000000
100000000
001001000
100000000
000001010
000000000
?
100000000
010000000
010000000
000000000
100000000
100000000
100000000
000001000
000000000
?
100000000
000000000
010000001
000100000
100000000
101011000
000100000
000001000
000000000
?
100000000
110000000
01...

result:

points 1.0 points  1.0 correct, 9 queries

Test #124:

score: 78
Accepted
time: 5ms
memory: 3728kb

input:

8
56
56
57

output:

?
01110000
00000000
00000000
11000001
00000100
00001000
00000000
00000000
?
00100000
00000000
00010010
10000011
00000110
00000010
01000000
00000010
?
00110000
00000000
00010010
00000001
00000110
00001010
01000010
00000000
!
01110000
00000000
00000000
10000001
00000110
00001000
00000000
00000000

result:

points 1.0 points  1.0 correct, 3 queries

Test #125:

score: 78
Accepted
time: 22ms
memory: 3612kb

input:

8
40
40
34
64
50
52

output:

?
00011010
00000000
10000001
00000000
00100000
00000000
00100000
10100000
?
00001000
00000000
10000101
00000000
00100000
00100000
00000000
00100000
?
00011010
00000000
10000101
00010000
00000000
00000100
00000000
10110000
?
00011000
10001000
10100100
00110000
01100000
00100100
00100000
00010000
?
00...

result:

points 1.0 points  1.0 correct, 6 queries

Test #126:

score: 78
Accepted
time: 32ms
memory: 3736kb

input:

7
44
37
44
31
39
37
39
28

output:

?
0000110
0101000
0001000
0000000
0000001
0100001
1000001
?
0100000
0101000
0001000
0001000
0001000
0101001
1000001
?
0100100
0001000
0001000
1001010
0000001
0100000
0000001
?
0100000
0000000
0011000
1000000
0001001
0100000
1000000
?
0000110
0101000
0001001
0000000
0001001
0011011
0001000
?
0001000
...

result:

points 1.0 points  1.0 correct, 8 queries

Test #127:

score: 78
Accepted
time: 20ms
memory: 3892kb

input:

7
37
37
49
49
43
43

output:

?
0000000
0000100
0000100
0000000
0001100
0000100
1010000
?
0000000
0000100
0000110
0000000
0100100
1001100
1010000
?
0000010
0100100
0000110
1000000
0100000
0001100
1001000
?
0000010
0000100
1000000
1000000
0101100
1000000
1010000
?
0000000
0100000
0010010
1000000
0100000
0001110
1001001
?
0000010
...

result:

points 1.0 points  1.0 correct, 6 queries

Test #128:

score: 78
Accepted
time: 50ms
memory: 3740kb

input:

10
72
76
68
79
70
76
72
88
52
88
70
88
91
98

output:

?
0000001000
1000001000
0010000010
0000000010
0000000010
0000001010
0000000000
0000100000
0000000000
0000000000
?
0001001000
1010001000
0000000010
0000000110
0000000010
0000000010
0000100000
0000100000
0000000000
0000000000
?
0001000000
0000001000
0000000010
0000000010
0010000010
0000001000
00001000...

result:

points 1.0 points  1.0 correct, 14 queries

Test #129:

score: 78
Accepted
time: 30ms
memory: 3888kb

input:

10
52
65
65
84
72
93
55

output:

?
0000000000
0010010000
0000001000
1000100000
0000001000
0000000000
0000000000
0000000000
0000000000
0110000001
?
0000000000
0000010000
0001101000
0000100000
0000001010
0000000000
0000000000
0000100000
0000000000
0110000001
?
0000000000
1010010000
0000101000
0000100000
0000000010
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 7 queries

Test #130:

score: 78
Accepted
time: 50ms
memory: 3676kb

input:

10
70
58
68
88
86
86
75
88
68
68
64
97

output:

?
0000000010
0010000100
0000011000
1000000000
0000000001
1000000000
0000000000
0000000001
0000000000
0000000010
?
0100000010
0010000000
0000011000
1000000000
0000000000
0000000000
0000000000
0010000001
0000000000
0000000010
?
0100000000
0000000100
0000000000
1000000000
0000000000
1000000000
00000000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #131:

score: 78
Accepted
time: 61ms
memory: 3860kb

input:

10
70
44
70
58
88
82
88
82
84
72
92
93

output:

?
0000010100
0100001000
0000000100
0000000000
0001000000
0000001000
0000000000
0000001000
0000000000
0010100000
?
0000000100
0110001000
0000000000
0000000000
0000000000
0000001000
0000000000
0000001000
0000001000
0000000000
?
0000010100
1110001000
0000000100
0000000000
0000000000
0000000000
00000000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #132:

score: 78
Accepted
time: 67ms
memory: 3736kb

input:

10
68
65
70
68
85
80
72
90
88
76
76
84
70
92
70

output:

?
0100000001
0000010000
0100000000
0000010000
1000000000
0000010000
0000000000
0001000001
0010000000
0000000000
?
0100000001
0000000001
0100000010
0000010000
1000000000
0001010000
0000000000
0000000001
0000010000
0000000000
?
0000000000
0000010000
0100000010
0000000000
1000000000
0001000000
00000000...

result:

points 1.0 points  1.0 correct, 15 queries

Test #133:

score: 78
Accepted
time: 35ms
memory: 3612kb

input:

10
75
80
68
65
88
76
79
76
80
76
52

output:

?
0000000000
0100100000
0000010000
0000000000
0010000000
0001000100
0000010000
0000010000
0000000000
0000000101
?
0001000000
0100100000
0000010000
0000000010
0001010000
0001000100
0000010000
0000010000
0000000000
0000000100
?
0001000000
0000100000
0000010000
0000000110
0001110000
0000000100
00000000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #134:

score: 78
Accepted
time: 55ms
memory: 3868kb

input:

10
72
68
79
92
90
90
70
86
90
60
79

output:

?
0000000000
0000000010
0000000000
0100000000
0000000000
0100100100
0000001000
0010000000
0101000000
0000010000
?
0100000000
0000000010
0000000000
0000000000
0000000000
0100000100
0000001000
0010001000
0100000000
0000010000
?
0100000000
1000000000
1000000000
0100000000
0100000000
0100000100
10000000...

result:

points 1.0 points  1.0 correct, 11 queries

Test #135:

score: 78
Accepted
time: 246ms
memory: 4000kb

input:

100
1000
1600
2500
3500
4400
4700
5000
5900
7000
8700
8800
9900
9700

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #136:

score: 78
Accepted
time: 254ms
memory: 3776kb

input:

100
1000
1800
2600
3700
3800
4600
6200
7300
7600
8700
9200
9400
9600

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 13 queries

Test #137:

score: 78
Accepted
time: 422ms
memory: 3816kb

input:

100
979
979
991
1474
1670
2531
2240
3140
3434
4374
3728
5018
4680
4965
4266
5908
4240
4680
6872
7907
8005
8896
8200
4912
9100
6872
5676
6736

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 28 queries

Test #138:

score: 78
Accepted
time: 561ms
memory: 3760kb

input:

100
991
1180
1387
1768
2278
3016
2377
3404
3635
1464
2628
4513
3769
3307
5632
5164
5860
3635
6707
3490
7360
7008
5723
5639
8340
8068
8589
6388
8300
8606
9532
7003
7327
8800
6990
6302

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 36 queries

Test #139:

score: 78
Accepted
time: 788ms
memory: 3744kb

input:

100
976
784
976
1165
976
984
1728
2265
2002
2620
2260
1572
3034
3214
3448
2198
3455
3768
3540
4096
4000
4560
3040
3784
4618
4944
4930
5500
5149
6204
5280
5744
5710
4544
4288
6569
7089
7280
5744
7160
7760
6250
7624
7624
8115
8658
7120
8689
5788
9430
6277
8068
8884
9272
7080
7348
4815

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 57 queries

Test #140:

score: 78
Accepted
time: 1197ms
memory: 4020kb

input:

100
882
882
1258
1072
1258
1537
1719
1352
2168
1904
1446
2088
3040
1537
3550
3808
3965
3997
2710
3312
3910
3722
3965
3681
4540
5655
5181
4908
5181
5839
5050
4696
5320
7033
6277
7426
5866
5303
7543
7522
7119
7858
7076
7644
8020
6449
6766
8648
6850
7470
8119
6024
8700
9508
7699
6815
8347
9494
9126
908...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 76 queries

Test #141:

score: 78
Accepted
time: 1192ms
memory: 3800kb

input:

100
976
784
976
1168
1352
882
1352
1537
1723
1816
1909
2350
2344
2608
3034
3111
2860
2948
2440
3616
4376
3200
4148
5176
4604
5314
4320
4480
4330
5182
3996
5109
3850
6047
5842
5791
6124
6584
6224
6767
6523
7608
7549
8200
6873
6752
7592
8557
5800
8026
7786
8800
9082
7668
7580
8740
7321
8100
8698
8624
...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 73 queries

Test #142:

score: 78
Accepted
time: 1208ms
memory: 3744kb

input:

100
784
788
979
1537
1173
1264
1901
2168
2174
2350
1728
2530
2432
1901
3522
2880
4080
4375
2945
3858
4400
3532
4014
3532
3034
5182
5584
6106
4000
6100
6080
6100
5338
5852
6165
6661
7250
6288
6480
7570
7562
7592
8334
5980
8650
6032
7060
6502
7678
6555
5970
7858
8026
8416
6608
8380
6787
7180
8720
8290...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 75 queries

Test #143:

score: 78
Accepted
time: 1181ms
memory: 3756kb

input:

100
976
975
592
1165
784
1444
1165
976
1628
1720
1744
2776
2692
2862
2710
3448
3455
3840
3214
3206
3040
3722
3838
5653
4604
5392
5913
4384
5852
5338
5380
5800
6346
5846
7036
5036
6940
5598
7109
6047
7525
7354
6466
6106
5598
7705
6584
7660
8409
9012
8114
8504
5320
8488
8285
8900
9286
6544
8950
9220
8...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 74 queries

Test #144:

score: 78
Accepted
time: 941ms
memory: 4024kb

input:

100
976
784
975
688
592
976
1168
1720
1173
1719
1450
2620
2696
1376
3214
3941
3443
3775
4480
4240
3932
3700
4087
4470
4249
4800
4178
6500
5164
4400
4470
6450
6464
5800
6516
7600
4573
7606
4160
7010
7530
7632
6851
6277
5980
8240
7817
7030
8492
7417
8440
5912
6583
6851
8845
8075
8929
8236
8544
6220
64...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 62 queries

Test #145:

score: 78
Accepted
time: 949ms
memory: 3832kb

input:

100
975
591
785
976
1164
1352
1446
1537
1634
1901
1904
2604
2613
2265
2862
3028
3112
2866
2613
3370
2440
3357
4816
5260
5575
3378
3664
3681
4752
5560
4152
4963
6804
6898
6058
5200
6448
7804
7360
6583
7582
6277
5425
4720
8376
7377
5592
7184
9205
7465
6237
8560
8929
8675
7743
9046
8414
9790
7210
8608
...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000...

result:

points 1.0 points  1.0 correct, 61 queries

Test #146:

score: 78
Accepted
time: 689ms
memory: 3860kb

input:

100
979
979
984
1180
1464
1768
2258
3118
1852
2932
3232
3420
4267
3420
3404
5215
3357
4085
5665
4215
5359
5786
5177
6892
6966
7212
7570
6146
7613
6929
5840
7975
7427
8480
9280
7690
7396
9025
4600
7894
5041
5518
7074
9361
7314

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 45 queries

Test #147:

score: 78
Accepted
time: 404ms
memory: 3848kb

input:

100
1000
1684
1387
1964
2200
3501
3695
3070
4300
4205
3796
4830
5060
4699
5206
6760
5450
6796
4110
2950
7056
7840
8470
9640
9822
6710

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 26 queries

Test #148:

score: 78
Accepted
time: 527ms
memory: 3860kb

input:

100
900
1882
2080
2278
2674
3169
3763
3367
4456
4400
6832
7822
8334
6374
8040
7648
9709
6736
8432
7504
9405
9220
8708
8740
9910
9620
9748
9932
9972
9975

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 30 queries

Test #149:

score: 78
Accepted
time: 590ms
memory: 3864kb

input:

100
1000
1700
2100
3000
4300
5300
5800
6733
4852
5644
7822
8334
7866
8933
6896
8119
9224
8385
3210
6094
4830
8524
9720
7588
9130
9844
9892
9838
9978
9402

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 30 queries

Test #150:

score: 78
Accepted
time: 523ms
memory: 3784kb

input:

100
1000
1700
2600
3100
4500
4100
5600
7100
8020
7800
8836
7866
7822
9240
8005
7888
8368
9328
9164
9808
8866
9780
9593
9690
9966
9979
9958

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 27 queries

Test #151:

score: 78
Accepted
time: 611ms
memory: 4020kb

input:

100
900
1200
2400
2400
4400
5300
5900
7100
8100
9109
6300
9321
7024
7381
6544
5786
9816
7686
2653
6990
6920
6656
8368
8164
9706
7758
8357
8992
9890
9930
9996

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 31 queries

Test #152:

score: 78
Accepted
time: 488ms
memory: 3864kb

input:

100
991
1500
2575
3268
4258
4800
6040
6832
7723
7129
8119
9412
7954
5926
9751
9852
8232
9784
9363
8848
9826
9592
9890
8280

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 24 queries

Test #153:

score: 78
Accepted
time: 646ms
memory: 3796kb

input:

100
892
1288
1684
2240
2356
2062
2748
3000
5053
5150
6023
7312
4357
6217
8176
8005
8848
7600
6804
4180
6217
4870
8968
8592
8064
5536
7084
9660
9886
9389
9784
9916
9750
9944
9937

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000...

result:

points 1.0 points  1.0 correct, 35 queries

Test #154:

score: 78
Accepted
time: 748ms
memory: 4004kb

input:

100
991
1090
1000
1981
2337
2434
2822
2531
3856
2531
4172
3184
3568
4870
4830
4624
6310
4762
5725
7543
7303
8180
7570
6633
7452
9190
7300
8110
7775
5860
6974
6346
5688
4754
9704
8965
9116
8584
9232
9820
8824
9694
9945
9844

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 44 queries

Test #155:

score: 78
Accepted
time: 680ms
memory: 3852kb

input:

100
984
1180
1090
1572
1783
2240
1684
1585
4083
4859
4374
6146
5296
6898
6960
7792
4940
7976
8252
7368
7570
8436
8068
5050
6616
8320
7950
4513
7875
5296
7613
9006
6064
8202
8466
9920
9948
9566
9840
9324

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 40 queries

Test #156:

score: 78
Accepted
time: 552ms
memory: 3724kb

input:

100
900
1800
2700
2900
3900
5600
6200
7300
7200
8713
8317
9109
9406
5786
9342
3268
5071
6670
6885
4896
7408
7928
9601
9678
9898
9760
9970
9988
9070
8073
3760
7600
9506

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 33 queries

Test #157:

score: 78
Accepted
time: 1286ms
memory: 3800kb

input:

100
976
788
976
1168
1168
1540
1720
1901
2256
1996
2356
2605
1909
1909
2791
2696
2095
4080
3448
2696
4312
3370
3994
5104
5101
4087
3540
5060
4300
4975
3378
3680
5172
5392
6032
6346
5908
6040
5974
6608
6165
5264
7000
4492
6308
7700
8483
6913
6724
8011
8670
7403
7635
7880
8816
8245
8073
8977
5846
8845...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000...

result:

points 1.0 points  1.0 correct, 82 queries

Test #158:

score: 78
Accepted
time: 1241ms
memory: 4028kb

input:

100
979
975
1164
1446
1351
1628
2080
1260
1540
2083
1352
1925
2860
3115
2880
3034
3609
1720
2791
4075
4148
3996
2032
4672
3280
4379
4024
5653
3388
2945
4376
3616
5940
6238
6096
4000
3388
7088
6342
4320
6157
7562
4774
7615
6880
8089
7697
7042
7552
7144
8284
7109
8252
8606
8752
7050
8680
8674
7509
735...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 80 queries

Test #159:

score: 78
Accepted
time: 1221ms
memory: 4024kb

input:

100
976
882
976
1173
1446
1992
1992
2170
1355
793
2604
1901
2346
2696
1816
3034
2690
3925
4072
3277
3768
4841
5172
3996
5320
4312
5474
4178
4825
5109
5905
6165
5730
6814
6352
6409
6472
5385
4233
4894
6106
5515
7660
8155
7750
7838
8080
7377
9010
5680
8631
8920
5645
6460
4820
8632
9460
8848
8152
9104
...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 79 queries

Test #160:

score: 78
Accepted
time: 1129ms
memory: 3948kb

input:

100
979
975
785
1355
1076
1720
1537
1090
2083
2256
2960
3360
3364
3360
3609
2174
3526
3600
3920
4411
4816
4456
4306
4687
4456
5580
4384
6352
5779
6528
6067
6523
4549
5380
7580
7192
6280
7350
7615
6645
7840
7000
7286
8647
7300
6528
6598
8779
8284
8605
8496
6106
9575
9340
8816
8128
6767
8460
9380
8866...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 68 queries

Test #161:

score: 78
Accepted
time: 1369ms
memory: 3784kb

input:

100
984
1070
1537
1812
1444
1996
1990
2174
2431
2520
1165
3115
3840
2953
3604
3443
3115
3840
3994
3526
3601
3520
5320
5456
4462
4148
4080
5722
5464
5377
5970
5320
6056
3609
4302
4744
7556
4750
7764
7562
5248
6661
7297
7603
7120
8152
6752
8160
8240
7360
6880
7756
8752
5320
8167
8852
9376
7516
8285
83...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000...

result:

points 1.0 points  1.0 correct, 84 queries

Test #162:

score: 78
Accepted
time: 274ms
memory: 4008kb

input:

100
991
1288
1783
2000
2476
3664
3169
4200
5149
6535
6962
4806
7648
7550
7844
8824
7746

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 17 queries

Test #163:

score: 78
Accepted
time: 262ms
memory: 3980kb

input:

100
900
1700
2500
3700
4555
3600
5149
4456
5644
7600
8600
8600
9600
8400

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 14 queries

Test #164:

score: 78
Accepted
time: 289ms
memory: 3624kb

input:

100
1000
1800
2500
3600
4600
5200
6337
5842
4000
7525
7723
8416
7525
9703
9901

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 15 queries

Test #165:

score: 78
Accepted
time: 270ms
memory: 3928kb

input:

100
1000
1700
2200
3400
3100
4900
6000
6700
6800
6900
9100
9600
9505
5100

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 14 queries

Test #166:

score: 78
Accepted
time: 347ms
memory: 4004kb

input:

100
1000
1900
2900
3466
3238
3367
3961
4665
5200
4665
3664
6064
5968
5915
4762
7120
8290
8860
9525
8368
9232

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 21 queries

Test #167:

score: 78
Accepted
time: 231ms
memory: 3980kb

input:

100
900
1800
2700
3200
2900
5100
5900
7500
7400
8900
8800
7800

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 12 queries

Test #168:

score: 78
Accepted
time: 1187ms
memory: 3880kb

input:

100
882
979
1165
1173
1360
1450
1901
1545
2432
2104
2953
2520
2265
2629
3127
3364
3880
4680
4330
4228
4492
5050
3370
4549
4618
4918
5444
5653
6462
4450
5860
5740
5929
6528
7316
3916
7075
7300
7525
8261
7678
8026
7404
7979
7200
8323
8898
5779
7195
8704
8640
5474
9014
8200
8436
7930
9265
8946
9208
907...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 77 queries

Test #169:

score: 78
Accepted
time: 1178ms
memory: 4024kb

input:

100
979
976
976
1165
1168
1450
1360
1537
2346
2440
2432
2690
2608
1909
2346
3680
3464
3532
3850
4249
3682
3475
4071
4604
4240
5722
5620
6238
5929
5584
5310
5590
6523
5248
6352
6220
6932
6652
4424
6696
5648
6920
5401
7603
7550
7984
6449
7603
8640
8245
7764
7756
8366
6608
8214
8614
9425
8784
7536
9184...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 73 queries

Test #170:

score: 78
Accepted
time: 1246ms
memory: 3872kb

input:

100
976
785
976
1164
1168
1355
1446
1810
2080
1901
1996
2613
1648
3115
3378
2260
3120
4080
3996
4168
4154
4240
4384
2265
4774
4080
5669
3932
5515
5644
6172
4154
3952
5653
6160
5320
6230
6449
6598
5182
6580
6776
7942
6056
6984
7470
6913
8062
8816
7746
9190
7660
7930
8884
8022
8760
8224
8636
8742
8816...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 80 queries

Test #171:

score: 78
Accepted
time: 1215ms
memory: 3772kb

input:

100
984
975
1260
1355
1351
1456
1728
2435
1168
2948
2265
2260
3112
1909
2866
2350
2696
2613
3196
2791
4525
3034
4680
3763
4168
4968
5264
3034
5740
4135
5392
5913
6315
6342
7300
5401
6172
6181
5464
7144
7250
5730
5608
7480
6580
7509
8495
8518
7750
8483
5905
8600
7858
5547
8890
7884
8950
9142
8196
864...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 77 queries

Test #172:

score: 78
Accepted
time: 1312ms
memory: 3836kb

input:

100
882
979
880
1070
1537
1351
1812
1992
1735
2696
1444
3034
2095
3686
2800
3040
2866
3692
3440
4528
3686
4604
4604
3111
5176
5275
5527
5401
5852
5136
6416
5730
5380
6416
6283
6889
6472
7286
6218
8032
7300
8073
7858
6755
7321
7888
8080
6472
8524
8524
6755
5598
7750
3858
8323
7800
6838
9194
9142
8362...

output:

?
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

points 1.0 points  1.0 correct, 83 queries

Test #173:

score: 78
Accepted
time: 16ms
memory: 3696kb

input:

5
22
19
19
21
25
23
21
22
25

output:

?
01010
00001
11100
01000
00001
?
01000
00001
01000
01000
00010
?
01011
00001
00000
10001
00001
?
00011
10000
10101
00000
00000
?
00001
00100
00101
10000
10010
?
00010
00100
01000
00001
10111
?
00000
00100
01000
00001
00111
?
10000
00000
00000
01000
10111
?
01110
00100
01000
01000
10001
!
00100
0010...

result:

points 1.0 points  1.0 correct, 9 queries