Link to this code: https://cses.fi/paste/e2cf99c6b3283a79c75f5d/
/* 777 */
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define FAST_IO ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

void solve() {
    int n, k; cin >> n >> k;
    vector<pair<int,int>> vec;
    for (int i = 1 ; i <= n ; ++i) {
        int x; cin >> x;
        vec.emplace_back(x, i);
    }
    sort(vec.begin(), vec.end());
    for (int i = 0 ; i < n - 2 ; ++i) {
        int req = k - vec[i].first;
        if (req <= 0) continue;
        for (int l = i + 1, r = n - 1 ; l < r ; ) {
            int cur = vec[l].first + vec[r].first;
            if (cur == req) {
                cout << vec[i].second << " " << vec[l].second << " " << vec[r].second;
                return;
            }
            if (cur < req) ++l;
            else --r;
        }
    }
    cout << "IMPOSSIBLE";
}

int32_t main() {
    FAST_IO
    solve();
}