#include <bits/stdc++.h>
using namespace std;
#define ms(s,n) memset(s,n,sizeof(s))
#define all(a) a.begin(),a.end()
#define present(t, x) (t.find(x) != t.end())
#define sz(a) int((a).size())
#define FOR(i, a, b) for (int i = (a); i < (b); ++i)
#define FORd(i, a, b) for (int i = (a) - 1; i >= (b); --i)
#define pb push_back
#define pf push_front
#define fi first
#define se second
#define mp make_pair
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int,int> pi;
typedef vector<int> vi;
typedef vector<pi> vii;
const int MOD = (int) 1e9+7;
const int INF = (int) 1e9+1;
inline ll gcd(ll a,ll b){ll r;while(b){r=a%b;a=b;b=r;}return a;}
inline ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n, k; cin >> n >> k;
vector<pair<int,int>> a(n);
for(int i = 0; i < n; i++){
cin >> a[i].first;
a[i].second = i;
}
sort(all(a));
int l = 0, r = n - 1;
while(l < r){
if(a[l].first + a[r].first == k){
cout << a[l].second + 1 << " " << a[r].second + 1 << endl;
return 0;
}
else if(a[l].first + a[r].first < k)
++l;
else --r;
}
cout << "IMPOSSIBLE\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIG1zKHMsbikgbWVtc2V0KHMsbixzaXplb2YocykpCiNkZWZpbmUgYWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiNkZWZpbmUgcHJlc2VudCh0LCB4KSAodC5maW5kKHgpICE9IHQuZW5kKCkpCiNkZWZpbmUgc3ooYSkgaW50KChhKS5zaXplKCkpCiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvciAoaW50IGkgPSAoYSk7IGkgPCAoYik7ICsraSkKI2RlZmluZSBGT1JkKGksIGEsIGIpIGZvciAoaW50IGkgPSAoYSkgLSAxOyBpID49IChiKTsgLS1pKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBmIHB1c2hfZnJvbnQKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIG1wIG1ha2VfcGFpcgoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKdHlwZWRlZiBwYWlyPGludCxpbnQ+IHBpOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3RvcjxwaT4gdmlpOwoKY29uc3QgaW50IE1PRCA9IChpbnQpIDFlOSs3Owpjb25zdCBpbnQgSU5GID0gKGludCkgMWU5KzE7CmlubGluZSBsbCBnY2QobGwgYSxsbCBiKXtsbCByO3doaWxlKGIpe3I9YSViO2E9YjtiPXI7fXJldHVybiBhO30KaW5saW5lIGxsIGxjbShsbCBhLGxsIGIpe3JldHVybiBhL2djZChhLGIpKmI7fQoKCmludCBtYWluKCl7CgkjaWZuZGVmIE9OTElORV9KVURHRQoJZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CglmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwoJI2VuZGlmCglpbnQgbiwgazsgY2luID4+IG4gPj4gazsKCXZlY3RvcjxwYWlyPGludCxpbnQ+PiBhKG4pOwoJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CgkJY2luID4+IGFbaV0uZmlyc3Q7CgkJYVtpXS5zZWNvbmQgPSBpOwoJfQoJc29ydChhbGwoYSkpOwoJaW50IGwgPSAwLCByID0gbiAtIDE7Cgl3aGlsZShsIDwgcil7CgkJaWYoYVtsXS5maXJzdCArIGFbcl0uZmlyc3QgPT0gayl7CgkJCWNvdXQgPDwgYVtsXS5zZWNvbmQgKyAxIDw8ICIgIiA8PCBhW3JdLnNlY29uZCArIDEgPDwgZW5kbDsKCQkJcmV0dXJuIDA7CgkJfQoJCWVsc2UgaWYoYVtsXS5maXJzdCArIGFbcl0uZmlyc3QgPCBrKQoJCQkrK2w7CgkJZWxzZSAtLXI7Cgl9Cgljb3V0IDw8ICJJTVBPU1NJQkxFXG4iOwoJcmV0dXJuIDA7Cn0K