#include <bits/stdc++.h>
#include "minerals.h"
// #include "grader.cpp"
using namespace std;
void solve(vector<int> A, vector<int> B, bool fl)
{
  if(A.size() != B.size())
  {
    cout << "DAUN\n";
    exit(0);
  }
  // for(auto i : A)
  //   cout << i << ' ';
  // cout << '\n';
  // for(auto i : B)
  //   cout << i << ' ';
  // cout << "\n\n";
  if(A.empty())
    return;
  if(A.size() == 1)
  {
    Answer(A[0], B[0]);
    return;
  }
  
  vector<int> a1, b1, a2, b2;
  for(int i = 0; i < A.size() / 2; i++)
    a1.push_back(A[i]);
  for(int i = A.size() / 2; i < A.size(); i++)
    a2.push_back(A[i]);
  int x;
  if(fl)
  {
    for(auto i : a2)
      x = Query(i);
  }
  else
  {
    for(auto i : a1)
      x = Query(i);
  }
  for(auto i : B)
    {
      int y = Query(i);
      if(y == x)
        b1.push_back(i);
      else
        b2.push_back(i);
      x = y;
    }
  solve(a1, b1, 1);
  solve(a2, b2, 0);
} 
void Solve(int N) 
{
  int q = 0;
  vector<int> a, b;
  for(int i = 1; i <= N * 2; i++)
  {
    if(Query(i) != q)
    {
      a.push_back(i);
      q++;
    }
    else
      b.push_back(i);
  }
  solve(a, b, 1);
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |