#include <bits/stdc++.h>
#include "triangles.h"
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;

// #pragma GCC optimize("O3")
// #pragma GCC target("avx2")
// #pragma GCC optimize("unroll-loops")

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

vector<vector<int>> solve(int n) {
    if (n == 4) {
        vector<vector<int>> ans;
        Triangle f1 = Triangle(0, 1, 2);
        Triangle f2 = Triangle(0, 1, 3);
        Triangle f3 = Triangle(0, 2, 3);
        Triangle f4 = Triangle(1, 2, 3);
        ll f = compare({f1, f2, f3}, {f4});
        if (f == 0) {
            ans = {{0, 1, 2}, {0, 1, 3}, {0, 2, 3}};
            return ans;
        }
        f = compare({f1, f2, f4}, {f3});
        if (f == 0) {
            ans = {{0, 1, 2}, {0, 1, 3}, {1, 2, 3}};
            return ans;
        }
        f = compare({f1, f4, f3}, {f2});
        if (f == 0) {
            ans = {{0, 1, 2}, {1, 2, 3}, {0, 2, 3}};
            return ans;
        }
        f = compare({f2, f4, f3}, {f1});
        if (f == 0) {
            ans = {{0, 2, 3}, {0, 1, 3}, {1, 2, 3}};
            return ans;
        }
        f = compare({f1, f2}, {f2, f3});
        if (f == 0) {
            ans = {{0, 1, 2}, {0, 1, 3}};
            return ans;
        }
        f = compare({f1, f3}, {f2, f4});
        if (f == 0) {
            ans = {{0, 1, 2}, {0, 2, 3}};
            return ans;
        }
        ans = {{0, 1, 2}, {1, 2, 3}};
        return ans;
    }
    return {};
}
