#include <iostream>
#include <fstream>
using namespace std;
struct suma {
int a, b, c, s;
} sum[1000005];
void quick_sort(int s, int d) {
int i, j, i1, j1, c, k;
if (s < d) {
i = s;
j = d;
i1 = 0;
j1 = -1;
while (i < j) {
if (sum[i].s > sum[j].s) {
c = sum[i].s;
sum[i].s = sum[j].s;
sum[j].s = c;
c = i1;
i1 = -j1;
j1 = -c;
}
i = i + i1;
j = j + j1;
}
k = i;
quick_sort(s, k - 1);
quick_sort(k + 1, d);
}
}
int main() {
ifstream f("loto.in");
ofstream g("loto.out");
int n, v[101], S, ok = 0, nr = 0, i, j, k;
f>>n>>S;
for(i = 1; i <= n; i++)
f>>v[i];
for(i = 1; i<= n; i++)
for(j = i; j <= n; j++)
for(k = j; k <= n; k++) {
nr++;
sum[nr].a = v[i];
sum[nr].b = v[j];
sum[nr].c = v[k];
sum[nr].s = v[i] + v[j] + v[k];
}
quick_sort(1, nr);
i = 1;
j = nr;
while(i <= j) {
if(sum[i].s + sum[j].s == S) {
ok = 1;
g<<sum[i].a<<" "<<sum[i].b<<" "<<sum[i].c<<" "<<sum[j].a<<" "<<sum[j].b<<" "<<sum[j].c;
break;
} else if(sum[i].s + sum[j].s < S)
i++;
else
j--;
}
if(ok == 0)
g << -1;
return 0;
}