#include <bits/stdc++.h>
#include "triangles.h"

using ll = long long;

using namespace std;
mt19937 rnd(time(0));

std::vector<std::vector<int>> solve(int n) {
    // Example of compare:
    // Пример использования функции compare:
    std::vector<Triangle> left = {Triangle(0, 1, 2), Triangle(0, 1, 3)};
    std::vector<Triangle> right = {Triangle(2, 3, 0), Triangle(2, 3, 1)};
    int compare_result = compare(left, right);
    if (compare_result == 0) {
        std::vector<std::vector<int>> ans;
        ans.push_back({0, 1, 3});
        ans.push_back({0, 1, 2});
        return ans;
    }
    left = {Triangle(0, 2, 1), Triangle(0, 2, 3)};
    right = {Triangle(1, 3, 2), Triangle(1, 3, 0)};
    compare_result = compare(left, right);
    if (compare_result == 0) {
        std::vector<std::vector<int>> ans;
        ans.push_back({0, 2, 1});
        ans.push_back({0, 2, 3});
        return ans;
    }
    left = {Triangle(0, 3, 1), Triangle(0, 3, 2)};
    right = {Triangle(1, 2, 3), Triangle(1, 2, 0)};
    compare_result = compare(left, right);
    if (compare_result == 0) {
        std::vector<std::vector<int>> ans;
        ans.push_back({0, 3, 1});
        ans.push_back({0, 3, 2});
        return ans;
    }
    // compare_result should be equal to 0.
    // compare_result будет равняться нулю, так как сравнивались одинаковые треугольники.

    // Example of return:
    // Пример возвращаемого значения:
}