#include <bits/stdc++.h>
using namespace std;
int main(){
long long n, x; cin >> n >> x;
vector<pair<long long, long long>> a(n);
for (long long i = 0; i < n; i++){
cin >> a[i].first;
a[i].second = i+1;
}
for (long long i = 0; i < n; i++){
long long temp = x - a[i].first;
long long l = 0;
long long r = n-1;
while (l < i && i < r){
if (a[l].first + a[r].first == temp){ cout << a[l].second << ' ' << a[i].second << ' ' << a[r].second;
return 0;
}
else if (a[l].first + a[r].first < temp){
l++;
}
else r--;
}
}
cout << "IMPOSSIBLE\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpewogICAgbG9uZyBsb25nIG4sIHg7IGNpbiA+PiBuID4+IHg7CiAgICAKICAgIHZlY3RvcjxwYWlyPGxvbmcgbG9uZywgbG9uZyBsb25nPj4gYShuKTsKICAgIAogICAgZm9yIChsb25nIGxvbmcgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNpbiA+PiBhW2ldLmZpcnN0OwogICAgICAgIGFbaV0uc2Vjb25kID0gaSsxOwogICAgfQogICAgCiAgICBmb3IgKGxvbmcgbG9uZyBpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgbG9uZyBsb25nIHRlbXAgPSB4IC0gYVtpXS5maXJzdDsKICAgICAgICAKICAgICAgICBsb25nIGxvbmcgbCA9IDA7CiAgICAgICAgbG9uZyBsb25nIHIgPSBuLTE7CiAgICAgICAgCiAgICAgICAgd2hpbGUgKGwgPCBpICYmIGkgPCByKXsKICAgICAgICAgICAgaWYgKGFbbF0uZmlyc3QgKyBhW3JdLmZpcnN0ID09IHRlbXApeyBjb3V0IDw8IGFbbF0uc2Vjb25kIDw8ICcgJyA8PCBhW2ldLnNlY29uZCA8PCAnICcgPDwgYVtyXS5zZWNvbmQ7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmIChhW2xdLmZpcnN0ICsgYVtyXS5maXJzdCA8IHRlbXApewogICAgICAgICAgICAgICAgbCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2Ugci0tOwogICAgICAgIH0KICAgIH0KICAgIAogICAgY291dCA8PCAiSU1QT1NTSUJMRVxuIjsKfQ==