#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct Triplet {
int suma,nr1,nr2,nr3;
} v[200001];
int a[105];
bool cmp(Triplet x,Triplet y) {
return x.suma<y.suma;
}
int main() {
int n,i,m,c=0,j,k,st,dr,mij;
fin>>n>>m;
for(i=1;i<=n;i++) {
fin>>a[i];
}
for(i=1;i<=n;i++) {
for(j=i;j<=n;j++) {
for(k=j;k<=n;k++) {
c++;
v[c].nr1=a[i];
v[c].nr2=a[j];
v[c].nr3=a[k];
v[c].suma=a[i]+a[j]+a[k];
}
}
}
sort(v+1,v+c+1,cmp);
for(i=1;i<=c;i++) {
st=1;dr=c;
while(st<=dr) {
mij=(st+dr)/2;
if(v[mij].suma>m-v[i].suma) {
dr=mij-1;
}
else if(v[mij].suma<m-v[i].suma) {
st=mij+1;
}
else if(v[mij].suma==m-v[i].suma) {
fout<<v[i].nr1<<" "<<v[i].nr2<<" "<<v[i].nr3<<" "<<v[mij].nr1<<" "<<v[mij].nr2<<" "<<v[mij].nr3;
return 0;
}
}
}
fout<<-1;
return 0;
}