#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct suma {
int b1, b2, b3, sum;
}bilete[1000005];
bool comparare(suma m, suma n)
{
return m.sum < n.sum;
}
int n, v[1001], s;
int main()
{
f >> n >> s;
for (int i = 1; i <= n; i++)
f >> v[i];
int num = 0;
for (int i = 1; i <= n; i++)
for (int j = i; j <= n; j++)
for (int k = j; k <= n; k++)
{
num++;
bilete[num].b1 = v[i];
bilete[num].b2 = v[j];
bilete[num].b3 = v[k];
bilete[num].sum = v[i] + v[j] + v[k];
}
sort(bilete + 1, bilete + num+1, comparare);
int i = 1, j = num, ok = 0;
while (i <= j)
{
if (bilete[i].sum + bilete[j].sum == s)
{
g << bilete[i].b1 << " " << bilete[i].b2 << " " << bilete[i].b3 << " " << bilete[j].b1 << " " << bilete[j].b2 << " " << bilete[j].b3;
ok = 1;
break;
}
else
if (bilete[i].sum + bilete[j].sum > s)
j--;
else
i++;
}
if (ok == 0)
g << -1;
return 0;
}