#include <bits/stdc++.h>
#include "minerals.h"
using namespace std;
vector<int> vec, teraz;
vector<pair<int, int>> parki;
bool odznaczone[100000];
void Solve(int n) 
{unsigned long long now$=chrono::duration_cast<chrono::nanoseconds>(chrono::system_clock::now().time_since_epoch()).count();
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);srand(now$);
	for(int i=1; i<=2*n; i++) {
		vec.push_back(i);
	}	
	int podzial, poprz, ziom, nowy, stary;
	while(vec.size()>200) {
		random_shuffle(vec.begin(), vec.end());
		podzial=sqrt(vec.size());
		poprz=-1;
		for(int i=0; i<vec.size(); i++) {
			if(i/podzial != poprz) {
				poprz=i/podzial;
				for(auto xd:teraz) {
					ziom = Query(xd);
				}	
				teraz.clear();
				ziom=Query(vec[i]);
				teraz.push_back(vec[i]);
				continue;
			}	
			nowy=Query(vec[i]);
			if(nowy!=ziom) {
				teraz.push_back(vec[i]);
				ziom=nowy;
			}
			else {
				for(int j=0; j<teraz.size(); j++) {
					if(odznaczone[teraz[j]]) {
						continue;
					}
					stary=nowy;
					nowy=Query(teraz[j]);
					if(nowy==stary) {
						parki.push_back({teraz[j], vec[i]});
						odznaczone[teraz[j]]=1;
						odznaczone[vec[i]]=1;
						for(int d=0; d<=j; d++) {
							nowy=Query(teraz[d]);
						}	
						break;
					}	
				}	
			}	
		}	
		vec.clear();
		for(int i=1; i<=n; i++) {
			if(!odznaczone[i]) {
				vec.push_back(i);
			}
		}	
	}
	
	
	
	random_shuffle(vec.begin(), vec.end());
	ziom=0;
	for(int i=0; i<vec.size(); i++) {
		nowy=Query(vec[i]);
		if(nowy!=ziom) {
			teraz.push_back(vec[i]);
			ziom=nowy;
		}
		else {
			for(int j=0; j<teraz.size(); j++) {
				if(odznaczone[teraz[j]]) {
					continue;
				}
				stary=nowy;
				nowy=Query(teraz[j]);
				if(nowy==stary) {
					parki.push_back({teraz[j], vec[i]});
					odznaczone[teraz[j]]=1;
					odznaczone[vec[i]]=1;
					for(int d=0; d<=j; d++) {
						nowy=Query(teraz[d]);
					}	
					break;
				}	
			}	
		}	
	}	
	
	
	
	for(auto xd:parki) {
		Answer(xd.first, xd.second);
	}
}	
| # | 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... |