#include<bits/stdc++.h>
#define f1(i, n) for(ll i=1;i<=n;++i)
#define f0(i, n) for(ll i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
// using int64 = long long;
// using i128 = __int128_t;
const int maxn = 1e6 + 1;
const int N = 5e5 + 1;
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n;
ll x;
cin >> n >> x;
map<ll, vector<pair<int, int>>> mp;
ll A[n + 1];
f1(i, n) {
cin >> A[i];
}
f1(i, n) {
for (int j = i + 1; j <= n; ++j) {
mp[A[i] + A[j]].push_back(make_pair(i, j));
}
}
for (int i = 1; i <= n; ++i) {
for (int j = i + 1; j <= n; ++j) {
if (A[i] + A[j] < x) {
int motcaigiday = x - A[i] - A[j];
if (!mp[motcaigiday].empty()) {
for (int k = 0; k < mp[motcaigiday].size(); ++k) {
if (mp[motcaigiday][k].first != i && mp[motcaigiday][k].second != j && mp[motcaigiday][k].first != j && mp[motcaigiday][k].second != i) {
cout << i << " " << j << " " << mp[motcaigiday][k].first << " " << mp[motcaigiday][k].second;
return 0;
}
}
}
}
}
}
cout << "IMPOSSIBLE";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmMShpLCBuKSBmb3IobGwgaT0xO2k8PW47KytpKQojZGVmaW5lIGYwKGksIG4pIGZvcihsbCBpPTA7aTxuOysraSkKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmV2KGEpIHJldmVyc2UoYS5iZWdpbigpLGEuZW5kKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgc28oQSwgbikgc29ydChBKzEsIEErbisxKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwovLyB1c2luZyBpbnQ2NCA9IGxvbmcgbG9uZzsKLy8gdXNpbmcgaTEyOCAgID0gX19pbnQxMjhfdDsKY29uc3QgaW50IG1heG4gPSAxZTYgKyAxOwpjb25zdCBpbnQgTiA9IDVlNSArIDE7CmludCBtYWluKCkKewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CglpbnQgbjsKCWxsIHg7CgljaW4gPj4gbiA+PiB4OwoJbWFwPGxsLCB2ZWN0b3I8cGFpcjxpbnQsIGludD4+PiBtcDsKCWxsIEFbbiArIDFdOwoJZjEoaSwgbikgewoJCWNpbiA+PiBBW2ldOwoJfQoJZjEoaSwgbikgewoJCWZvciAoaW50IGogPSBpICsgMTsgaiA8PSBuOyArK2opIHsKCQkJbXBbQVtpXSArIEFbal1dLnB1c2hfYmFjayhtYWtlX3BhaXIoaSwgaikpOwoJCX0KCX0KCWZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewoJCWZvciAoaW50IGogPSBpICsgMTsgaiA8PSBuOyArK2opIHsKCQkJaWYgKEFbaV0gKyBBW2pdIDwgeCkgewoJCQkJaW50IG1vdGNhaWdpZGF5ID0geCAgLSBBW2ldIC0gQVtqXTsKCQkJCWlmICghbXBbbW90Y2FpZ2lkYXldLmVtcHR5KCkpIHsKCQkJCQlmb3IgKGludCBrID0gMDsgayA8IG1wW21vdGNhaWdpZGF5XS5zaXplKCk7ICsraykgewoJCQkJCQlpZiAobXBbbW90Y2FpZ2lkYXldW2tdLmZpcnN0ICE9IGkgJiYgbXBbbW90Y2FpZ2lkYXldW2tdLnNlY29uZCAhPSBqICYmIG1wW21vdGNhaWdpZGF5XVtrXS5maXJzdCAhPSBqICYmIG1wW21vdGNhaWdpZGF5XVtrXS5zZWNvbmQgIT0gaSkgewoJCQkJCQkJY291dCA8PCBpIDw8ICIgIiA8PCBqIDw8ICIgIiA8PCBtcFttb3RjYWlnaWRheV1ba10uZmlyc3QgPDwgIiAiIDw8IG1wW21vdGNhaWdpZGF5XVtrXS5zZWNvbmQ7CgkJCQkJCQlyZXR1cm4gMDsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KCWNvdXQgPDwgIklNUE9TU0lCTEUiOwoKCglyZXR1cm4gMDsKfQoK