#include #include #include #include //#include #include #include #include #include #include //#include #include #include #include //#include #include #include //#include #include #include #include #include const int dx[] = {1, 0, -1, 0}; const int dy[] = {0, 1, 0, -1}; using namespace std; typedef long long ll; typedef vector vi; typedef vector vll; typedef pair pii; const int MAXN = 13; bool used[MAXN]; int K[MAXN]; int N; vector solve() { for (int i = 0; i < N; i++) { if (used[i]) continue; for (int j = i+1; j < N; j++) { if (used[j]) continue; for (int k = j+1; k < N; k++) { if (used[k]) continue; if (K[i] == K[j]) continue; if (K[j] == K[k]) continue; if (K[k] == K[i]) continue; if (K[i] < K[j] && K[j] < K[k]) continue; if (K[i] > K[j] && K[j] > K[k]) continue; used[i] = true; used[j] = true; used[k] = true; auto v = solve(); used[i] = false; used[j] = false; used[k] = false; if (v[0] < 0) { vector ret(3); ret[0] = i; ret[1] = j; ret[2] = k; return ret; } } } } vector ret(3); ret[0] = -1; ret[1] = -1; ret[2] = -1; return ret; } int main() { cin.tie(0); ios::sync_with_stdio(false); cin >> N; for (int i = 0; i < N; i++) cin >> K[i]; auto v = solve(); if (v[0] != -1) { cout << v[0] << " " << v[1] << " " << v[2] << endl; } else { cout << -1 << endl; } return 0; }