#include <bits/stdc++.h>
using namespace std;
#define int              long long int
#define double           long double
#define print(a)         for(auto x : a) cout << x << " "; cout << endl


const int M = 1000000007;
const int N = 3e5+9;
const int INF = 2e9+1;
const int LINF = 2000000000000000001;

inline int power(int a, int b, int mod=M) {
    int x = 1;
    a %= mod;
    while (b) {
        if (b & 1) x = (x * a) % mod; 
        a = (a * a) % mod;
        b >>= 1;
    }
    return x;
}


//_ ***************************** START Below *******************************


using pii = pair<int,int>;

vector<int> a;

vector<int> consistency(int n, int t){

    unordered_map<int, int> mp;
    for(int k=2; k<=n-2; k++){
        for(int l=k+1; l<=n-1; l++){
            int sum = a[k] + a[l];
            mp[sum]++;
        }
    }

    int x = -1;
    int y = -1;

    for(int j=1; j<=n-3; j++){

        int i = j-1;
        while(i>=0){
            int sum = a[i] + a[j];
            if(mp.count(t-sum)){
                x = i;
                y = j;
                break;
            }
            i--;
        }

        for(int k=j+2; k<=n-1; k++){
            int sum = a[j+1] + a[k];
            mp[sum]--;
            if(mp[sum] == 0) mp.erase(sum);
        }
    }

    if(x==-1 && y == -1)    return {};


    //*  2 Sum Leetcode 
    
    vector<pii> p;
    for(int i=y+1; i<n; i++){
        p.push_back({a[i], i});
    } 

    sort(begin(p), end(p));

    
    t = t-(a[x] + a[y]);
    int s = 0,    e = p.size()-1;

    while(s<e){
        int sum = p[s].first + p[e].first;


        if(sum < t) s++;
        else if(sum > t) e--;
        else{
            int k = p[s].second;
            int l = p[e].second;
            return {x+1, y+1, k+1, l+1};
        }
    }

    return {};
}















vector<int> practice(int n, int k){


}





void solve() {
    
    int n, k;
    cin>> n >> k;
    
    a.resize(n);
    for(int i=0; i<n; i++) cin >> a[i];
    
    auto ans = consistency(n, k);

    if(ans.empty()){
        cout << "IMPOSSIBLE";
        return;
    }
    print(ans);

}





int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int t = 1;
    // cin >> t;
    while (t--) {
        solve();
    }

    return 0;
}