#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int main()
{
	int n,i,m,a,j;
	cin>>n;
	vector<vector<int> > V(n,vector<int> (n));
	queue<pair<int,int> > A,B;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if((i+j)&1)
			B.push({i+1,j+1});
			else
			A.push({i+1,j+1});
		}
	}
	m=n*n;
	while(m--)
	{
		cin>>a;
		if(a==3)
		{
			if(A.size())
			{
				cout<<1<<" "<<A.front().first<<" "<<A.front().second<<endl;
				A.pop();
			}
			else
			{
				cout<<2<<" "<<B.front().first<<" "<<B.front().second<<endl;
				B.pop();
			}
		}
		else if(a==2)
		{
			if(A.size())
			{
				cout<<1<<" "<<A.front().first<<" "<<A.front().second<<endl;
				A.pop();
			}
			else
			{
				cout<<3<<" "<<B.front().first<<" "<<B.front().second<<endl;
				B.pop();
			}
		}
		else
		{
			if(B.size())
			{
				cout<<2<<" "<<B.front().first<<" "<<B.front().second<<endl;
				B.pop();
			}
			else
			{
				cout<<3<<" "<<A.front().first<<" "<<A.front().second<<endl;
				A.pop();
			}
		}
		fflush(stdout);
	}
}