#include<vector>
#include<iostream>
using namespace std;

void printRest(vector<int>& v,int f,int l,int r,int k){
    
    while(l < r){
        
        if(v[l] + v[r] > k){
            r--;
        }else if(v[l] + v[r] < k){
            l++;
        }else{
            if(l == f + 1 || v[l - 1] != v[l]){
               cout << v[f] << " " << v[l] << " " << v[r] << endl;
            }
            l++;
            r--;
        }
    }
}

void print(vector<int>& nums,int k){
    if(nums.size() < 3) return;
    
    for(int i = 0; i < nums.size() - 2; ++i){
        //去重
        if(i == 0|| nums[i - 1] != nums[i]){
            printRest(nums,i,i+1,nums.size() - 1,k - nums[i]);
        }
        
    }
}
int main(){
    
    int n,k;
    while(cin >> n >> k){
        vector<int> nums(n);
        for(int i = 0; i < n; ++i){
            cin >> nums[i];
        }
        print(nums,k);
    }
    return 0;
}