#include "Memory2_lib.h"
#include <bits/stdc++.h>
using namespace std;
void Solve(int T, int N){
	if(T == 500) return;
		
	int name[N * 2 + 5];
	
	for(int i = 0; i < N * 2; i++) name[i] = -1;
		
	vector<int> proc = {0,1,2,3};
	
	for(int a = 0; a < N - 1; a++){
		set<int> de[4];	
		for(int i = 0; i < 4; i++) de[i].clear();
		
		for(int j = 0; j < 4; j++){
			for(int k = j + 1; k < 4; k++){
				int num = Flip(proc[j],proc[k]);
				
				de[j].insert(num);
				de[k].insert(num);
			}
		}
		
		vector<pair<int,int>> v(0);
		
		for(int i = 0; i < 4; i++) v.push_back({de[i].size(), i});
		
		sort(v.begin(),v.end());
		
		/*for(pair<int,int> ii : v) printf("%d ",ii.first);
		printf("\n");*/
		
		if(v[3].first == 3){
			name[proc[v[0].second]] = *de[v[0].second].begin();
			proc[v[0].second] = -1;
			
			de[v[1].second].erase(*de[v[0].second].begin());
			name[proc[v[1].second]] = *de[v[1].second].begin();
			proc[v[1].second] = -1;
		}
		else if(v[1].first == 1){
			name[proc[v[0].second]] = *de[v[0].second].begin();
			proc[v[0].second] = -1;
			
			name[proc[v[1].second]] = *de[v[1].second].begin();
			proc[v[1].second] = -1;
		}
		else{
			name[proc[v[0].second]] = *de[v[0].second].begin();
			proc[v[0].second] = -1;
			
			de[v[1].second].erase(*de[v[0].second].begin());
			name[proc[v[1].second]] = *de[v[1].second].begin();
			proc[v[1].second] = -1;
		}
		
		if(a != N - 2){
			int cont = a * 2 + 4;
			
			for(int i = 0; i < 4; i++){
				if(proc[i] == -1){
					proc[i] = cont;
					cont++;
				}
			}
		}
		
		//for(int i = 0; i < N * 2; i++) printf("%d ",name[i]);
		//printf("\n");
	}
	
	vector<int> visited[N];
	
	for(int i = 0; i < N; i++) visited[i].clear();
	
	for(int i = 0; i < N * 2; i++){
		if(name[i] != -1) visited[name[i]].push_back(i);
	}
	
	for(int i = 0; i < N; i++){
		if(visited[i].empty()){
			for(int j = 0; j < N * 2; j++){
				if(name[j] == -1) visited[i].push_back(j);
			}
		}
	}
	
	for(int i = 0; i < N; i++){
		Answer(visited[i][0],visited[i][1],i);
	}
	
	return;
}
/*
1 1 100000
0 
0 0
 */
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |