#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
struct P
{
int a,b,c,d;
};
vector<P>S;
vector<P>::iterator it,itt;
P aux;
int i,j,k,n,s,suma,a[110],sum;
bool crit(P a,P b)
{
return a.a<b.a;
}
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d%d",&n,&s);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
{
suma=a[i]+a[j]+a[k];
aux.a=suma;
aux.b=a[i];
aux.c=a[j];
aux.d=a[k];
S.push_back(aux);
}
sort(S.begin(),S.end(),crit);
for(it=S.begin();it->a<s;it++)
{
aux.a=s-it->a;
itt=lower_bound(S.begin(),S.end(),aux,crit);
if(it->a+itt->a==s)
{
printf("%d %d %d %d %d %d",it->b,it->c,it->d,itt->b,itt->c,itt->d);
return 0;
}
}
printf("-1");
return 0;
}