#include "triangles.h"
// #pragma GCC optimize("O3")
// #pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define all(x) x.begin(), x.end()
#define len(x) (int)x.size()
#define start auto st = clock()
#define finish auto fin = clock(); cerr << 1000 * (fin - st) / (ld)CLOCKS_PER_SEC << endl
const ll mod2 = 998244353;

using namespace std;

mt19937 rnd(5241);

std::vector<std::vector<int>> solve(int n) {
	assert(n == 4);
	{
		vector<Triangle> le = {{0, 1, 2}};
		vector<Triangle> ri = {{0, 1, 3}, {0, 2, 3}, {1, 2, 3}};
		if(compare(le, ri) == 0){
		 	return {{0, 1, 2}};
		}
	}
	{
		vector<Triangle> le = {{0, 1, 3}};
		vector<Triangle> ri = {{0, 1, 2}, {0, 2, 3}, {1, 2, 3}};
		if(compare(le, ri) == 0){
		 	return {{0, 1, 3}};
		}
	}
	{
	 	vector<Triangle> le = {{0, 2, 3}};
		vector<Triangle> ri = {{0, 1, 2}, {0, 1, 3}, {1, 2, 3}};
		if(compare(le, ri) == 0){
		 	return {{0, 2, 3}};
		}
	}
	{
	 	vector<Triangle> le = {{1, 2, 3}};
		vector<Triangle> ri = {{0, 1, 2}, {0, 1, 3}, {0, 2, 3}};
		if(compare(le, ri) == 0){
		 	return {{1, 2, 3}};
		}
	}
	
	return {{0, 1, 2, 3}};

}
