#include "triangles.h"
#include <algorithm>

using namespace std;

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

    vector<Triangle> vec;
    for (int i = 0; i < n; ++i) {
        for (int j = i + 1; j < n; ++j) {
            for (int k = j + 1; k < n; ++k) {
                vec.push_back({i, j, k});
            }
        }
    }

    Triangle aa = vec.back();
    vec.pop_back();
    for (const Triangle t : vec)
        if (compare({aa}, {t}) == -1)
            aa = t;
    return {{aa.i, aa.j, aa.k}};
}
