#define _USE_MATH_DEFINES

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <map>

using namespace std;

typedef pair<long long int, long long int> P;

long long int INF = 1e18;
long long int MOD = 1e9 + 7;

int n, F[100], A[100];
int px[15], py[15];

bool func(int pos, int cnt, int num){
	if(cnt > n){
		return false;
	}
	if(pos == 100){
		return cnt == n;
	}
	if(A[pos] < 0){
		return false;
	}
	if(A[pos] == 0){
		return func(pos + 1, cnt, num);
	}
	int x = pos % 10, y = pos / 10;
	if(num % 3 == 0){
		if(x == 0 || x == 9 || y >= 8){
			return false;
		}
		A[y * 10 + x] -= 1;
		A[(y + 1) * 10 + x - 1] -= 1;
		A[(y + 1) * 10 + x] -= 1;
		A[(y + 1) * 10 + x + 1] -= 1;
		A[(y + 2) * 10 + x] -= 1;
		px[cnt] = x;
		py[cnt] = y + 1;
	}else if(num % 3 == 1){
		if(x >= 8 || y >= 8){
			return false;
		}
		A[y * 10 + x] -= 1;
		A[y * 10 + x + 1] -= 1;
		A[y * 10 + x + 2] -= 1;
		A[(y + 1) * 10 + x] -= 1;
		A[(y + 1) * 10 + x + 1] -= 1;
		A[(y + 1) * 10 + x + 2] -= 1;
		A[(y + 2) * 10 + x] -= 1;
		A[(y + 2) * 10 + x + 1] -= 1;
		A[(y + 2) * 10 + x + 2] -= 1;
		px[cnt] = x + 1;
		py[cnt] = y + 1;
	}else{
		if(x <= 1 || x >= 8 || y >= 6){
			return false;
		}
		A[y * 10 + x] -= 1;
		A[(y + 1) * 10 + x - 1] -= 1;
		A[(y + 1) * 10 + x] -= 1;
		A[(y + 1) * 10 + x + 1] -= 1;
		A[(y + 2) * 10 + x - 2] -= 1;
		A[(y + 2) * 10 + x - 1] -= 1;
		A[(y + 2) * 10 + x] -= 1;
		A[(y + 2) * 10 + x + 1] -= 1;
		A[(y + 2) * 10 + x + 2] -= 1;
		A[(y + 3) * 10 + x - 1] -= 1;
		A[(y + 3) * 10 + x] -= 1;
		A[(y + 3) * 10 + x + 1] -= 1;
		A[(y + 4) * 10 + x] -= 1;
		px[cnt] = x;
		py[cnt] = y + 2;
	}
	return func(pos, cnt + 1, num / 3);
}

int main(){
	cin >> n;
	for(int i = 0; i < 100; i++){
		cin >> F[i];
	}
	int lim = 1;
	for(int i = 0; i < n; i++){
		lim *= 3;
	}
	int ans = 0;
	for(int i = 0; i < lim; i++){
		copy(F, F + 100, A);
		if(func(0, 0, i)){
			ans = i;
			break;
		}
	}
	for(int i = 0; i < n; i++){
		cout << px[i] << " " << py[i] << " " << ans % 3 + 1 << endl;
		ans /= 3;
	}
	return 0;
}
