#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;
int abs(int a) {
if(a<0) return -a;
return a;
}
void solve() {
int n,k;
cin >> n >> k;
vector<vector<int> > hall(k+1,vector<int>(k+1,0));
for(int i=0;i<n;i++) {
int req;
cin >> req;
bool found=0;
int x,l,r,score=1e9;
for(int row=1;row<=k;row++) {
for(int col=1;col<=k-req+1;col++) {
int curr=req*abs(row-k/2-1);
bool flag=0;
for(int j=col;j<col+req;j++) {
if(hall[row][j]) {
flag=1;
break;
}
curr+=abs(j-k/2-1);
}
if(flag) continue;
if(curr<score) {
found=1;
score=curr;
x=row;
l=col;
r=col+req-1;
}
}
}
if(found) {
printf("%d %d %d\n", x,l,r);
for(int i=l;i<=r;i++) hall[x][i]=1;
} else {
cout << -1 << endl;
}
}
}
int main() {
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
// ios_base::sync_with_stdio(false);
// cin.tie(NULL);
int t=1;
// cin >> t;
while(t--) {
solve();
}
}
1342A - Road To Zero | 1520A - Do Not Be Distracted |
352A - Jeff and Digits | 1327A - Sum of Odd Integers |
1276A - As Simple as One and Two | 812C - Sagheer and Nubian Market |
272A - Dima and Friends | 1352C - K-th Not Divisible by n |
545C - Woodcutters | 1528B - Kavi on Pairing Duty |
339B - Xenia and Ringroad | 189A - Cut Ribbon |
1182A - Filling Shapes | 82A - Double Cola |
45A - Codecraft III | 1242A - Tile Painting |
1663E - Are You Safe | 1663D - Is it rated - 3 |
1311A - Add Odd or Subtract Even | 977F - Consecutive Subsequence |
939A - Love Triangle | 755A - PolandBall and Hypothesis |
760B - Frodo and pillows | 1006A - Adjacent Replacements |
1195C - Basketball Exercise | 1206A - Choose Two Numbers |
1438B - Valerii Against Everyone | 822A - I'm bored with life |
9A - Die Roll | 1430B - Barrels |