#include <bits/stdc++.h>
using namespace std;
int k,x,y,n;
int pow2(int k){
int sum=1;
while(k--) sum*=2;
return sum;
}
void f(int x,int y,int a,int b,int l)
{
if(l==1) return;
if(x-a<=l/2-1 && y-b<=l/2-1){
printf("%d %d 1\n",a+l/2,b+l/2);
f(x,y,a,b,l/2);
f(a+l/2-1,b+l/2,a,b+l/2,l/2);
f(a+l/2,b+l/2-1,a+l/2,b,l/2);
f(a+l/2,b+l/2,a+l/2,b+l/2,l/2);
}
else if(x-a<=l/2-1 && y-b>l/2-1){
printf("%d %d 2\n",a+l/2,b+l/2-1);
f(a+l/2-1,b+l/2-1,a,b,l/2);
f(x,y,a,b+l/2,l/2);
f(a+l/2,b+l/2-1,a+l/2,b,l/2);
f(a+l/2,b+l/2,a+l/2,b+l/2,l/2);
}
else if(x-a>l/2-1 && y-b<=l/2-1){
printf("%d %d 3\n",a+l/2-1,b+l/2);
f(a+l/2-1,b+l/2-1,a,b,l/2);
f(a+l/2-1,b+l/2,a,b+l/2,l/2);
f(x,y,a+l/2,b,l/2);
f(a+l/2,b+l/2,a+l/2,b+l/2,l/2);
}
else{
printf("%d %d 4\n",a+l/2-1,b+l/2-1);
f(a+l/2-1,b+l/2-1,a,b,l/2);
f(a+l/2-1,b+l/2,a,b+l/2,l/2);
f(a+l/2,b+l/2-1,a+l/2,b,l/2);
f(x,y,a+l/2,b+l/2,l/2);
}
}
int main()
{
cin>>k>>x>>y;;
n=pow2(k);
f(x,y,1,1,n);
return 0;
}