QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#450289#6303. Inversionnhuang685AC ✓82ms19504kbC++202.4kb2024-06-22 07:47:532024-06-22 07:47:53

Judging History

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

  • [2024-06-22 07:47:53]
  • 评测
  • 测评结果:AC
  • 用时:82ms
  • 内存:19504kb
  • [2024-06-22 07:47:53]
  • 提交

answer

/**
 * @file qoj6303-1.cpp
 * @author n685
 * @brief
 * @date 2024-06-21
 *
 *
 */
#include <bits/stdc++.h>

#ifdef LOCAL
#include "dd/debug.h"
#else
#define dbg(...) 42
#define dbgR(...) 4242
#define dbgP(...) 420
#define dbgRP(...) 420420
void nline() {}
#endif

#ifdef LOCAL
std::vector<int> ans;
auto makeQuery(int l, int r) -> int {
  int val = 0;
  for (int i = l; i <= r; ++i) {
    for (int j = i + 1; j <= r; ++j) {
      if (ans[i] > ans[j]) {
        val ^= 1;
      }
    }
  }
  return val;
}
#else
auto makeQuery(int l, int r) -> int {
  std::cout << "? " << l << ' ' << r << '\n' << std::flush;
  int v;
  std::cin >> v;
  return v;
}
#endif

auto main() -> int {
  std::cin.tie(nullptr)->sync_with_stdio(false);

  int n;
  std::cin >> n;
#ifdef LOCAL
  ans.resize(n + 1);
  for (int i = 1; i <= n; ++i) {
    std::cin >> ans[i];
  }
#endif

  std::vector<int> ind;
  std::vector dp(n + 1, std::vector<int>(n + 1));
  auto query = [&](int l, int r) -> int {
    int val;
    if (r > std::ssize(ind)) {
      val = makeQuery(l, r);
    } else {
      val = dp[l][r] % 2;
    }
    dbg("query", l, r, val);
    return val;
  };
  auto gr = [&](int l, int r) -> bool {
    int val;
    if (r - l == 1) {
      // return query(l, r);
      val = query(l, r);
    } else {
      val = ((query(l, r) - query(l + 1, r) - query(l, r - 1) +
              query(l + 1, r - 1)) %
                 2 +
             2) %
            2;
    }
    dbg("gr", l, r, val);
    nline();
    return val;
  };

  for (int i = 1; i <= n; ++i) {
    int l = 0, r = i - 2;
    while (l < r) {
      int mid = (l + r) / 2;
      if (gr(ind[mid], i)) {
        r = mid;
      } else {
        l = mid + 1;
      }
    }
    if (l == i - 2 && !gr(ind[l], i)) {
      l = i - 1;
    }
    ind.insert(ind.begin() + l, i);
    std::vector<int> p(i + 1);
    for (int j = 0; j < i; ++j) {
      p[ind[j]] = j;
    }
    dp[i - 1][i] = (p[i - 1] > p[i]);
    for (int j = i - 2; j >= 1; --j) {
      dp[j][i] =
          ((p[j] > p[i]) + dp[j + 1][i] + dp[j][i - 1] - dp[j + 1][i - 1]) % 2;
      if (dp[j][i] < 0) {
        dp[j][i] += 2;
      }
    }
  }
  std::vector<int> p(n + 1);
  for (int j = 0; j < n; ++j) {
    p[ind[j]] = j;
  }
  std::cout << "! ";
  for (int i = 1; i <= n; ++i) {
    std::cout << p[i] + 1 << ' ';
  }
  std::cout << '\n' << std::flush;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 82ms
memory: 19276kb

input:

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

result:

ok OK, guesses=38164

Test #3:

score: 0
Accepted
time: 54ms
memory: 17908kb

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

result:

ok OK, guesses=35786

Test #4:

score: 0
Accepted
time: 25ms
memory: 17504kb

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
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
0
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
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
0
0
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
1
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
? 4 11
? 5 11
? 5 11
? 6 11
? 2 ...

result:

ok OK, guesses=35736

Test #5:

score: 0
Accepted
time: 49ms
memory: 17460kb

input:

1877
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
1
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
0
0
1
1
0
0
1
0
1
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
0
1
1
1
0
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
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
? 3 6
? 4 6
? 6 7
? 3 7
? 4 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
? 3 11
? 4 11
? 5 11
? 6 11
? 8 1...

result:

ok OK, guesses=35599

Test #6:

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

input:

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

result:

ok OK, guesses=35490

Test #7:

score: 0
Accepted
time: 68ms
memory: 19196kb

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: 45ms
memory: 19496kb

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

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=38021

Test #9:

score: 0
Accepted
time: 53ms
memory: 18920kb

input:

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

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
? 5 7
? 6 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
? 7 10
? 8 10
? 8 10
? 9 10
? 9 10
? 4 11
? 5 11
? 8 11
? 9 11
? 7 11
? 8 11
? 4 12
? 5 12
? 3...

result:

ok OK, guesses=37902

Test #10:

score: 0
Accepted
time: 54ms
memory: 19204kb

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
1
0
0
1
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
1
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
0
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
? 1 7
? 2 7
? 5 7
? 6 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=38048

Test #11:

score: 0
Accepted
time: 27ms
memory: 19464kb

input:

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

result:

ok OK, guesses=38172

Test #12:

score: 0
Accepted
time: 61ms
memory: 19220kb

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

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
? 1 10
? 2 10
? 4 10
? 5 10
? 10 11
? 1 11
? 2 11
? 4 11
? 5 11
? 10 1...

result:

ok OK, guesses=38260

Test #13:

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

input:

1992
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
0
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
0
0
1
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
? 4 6
? 5 6
? 5 6
? 4 7
? 5 7
? 5 7
? 6 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
? 7 10
? 8 10
? 8 10
? 9 10
? 9 10
? 6 11
? 7 11
? 8 11
? 9 11
? 9 11
? 10 11
? 10 11
? 6 12
? 7 12
? 9 12
? 10 12
? 1...

result:

ok OK, guesses=37719

Test #14:

score: 0
Accepted
time: 52ms
memory: 19144kb

input:

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

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
? 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
? 2 11
? 3 11
? 4 11
? 5 11
? 9 11
? 10 11
? 3...

result:

ok OK, guesses=38128

Test #15:

score: 0
Accepted
time: 24ms
memory: 19080kb

input:

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

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

result:

ok OK, guesses=38060

Test #16:

score: 0
Accepted
time: 46ms
memory: 19264kb

input:

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

result:

ok OK, guesses=38290

Test #17:

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

input:

1989
1
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
1
0
1
1
1
0
0
1
0
0
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
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
? 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
? 10 11
? 5 11
? 6 11
? 11 12
? 6 12
? 7 12
...

result:

ok OK, guesses=38081

Test #18:

score: 0
Accepted
time: 53ms
memory: 19376kb

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

result:

ok OK, guesses=38276

Test #19:

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

input:

1

output:

! 1 

result:

ok OK, guesses=0

Test #20:

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

input:

2
0

output:

? 1 2
! 1 2 

result:

ok OK, guesses=1

Test #21:

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

input:

2
1

output:

? 1 2
! 2 1 

result:

ok OK, guesses=1

Test #22:

score: 0
Accepted
time: 64ms
memory: 19504kb

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: 41ms
memory: 19312kb

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: 55ms
memory: 19320kb

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: 46ms
memory: 19332kb

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