#include<iostream>
using namespace std;
int k;
int x,y;
void print(int xx,int yy,int cond,int len)
{
if(len==1) printf("%d %d %d\n",xx,yy,cond);
else if(cond==1)
{
print(xx,yy,1,len/2);
print(xx-(len/2),yy-(len/2),1,len/2);
print(xx-len*2+1,yy,3,len/2);
print(xx,yy-len*2+1,2,len/2);
}
else if(cond==2)
{
print(xx,yy,2,len/2);
print(xx+(len/2),yy+(len/2),2,len/2);
print(xx-len*2+1,yy,4,len/2);
print(xx,yy+len*2-1,1,len/2);
}
else if(cond==3)
{
print(xx,yy,3,len/2);
print(xx+(len/2),yy-(len/2),3,len/2);
print(xx+len*2-1,yy,1,len/2);
print(xx,yy-len*2+1,4,len/2);
}
else if(cond==4)
{
print(xx,yy,4,len/2);
print(xx+(len/2),yy+(len/2),4,len/2);
print(xx+len*2-1,yy,2,len/2);
print(xx,yy+len*2-1,3,len/2);
}
return;
}
int main()
{
scanf("%d",&k);
scanf("%d%d",&x,&y);
int ori=1;
for(int i=0;i<k;i++)
ori=ori*2;
int qx=1;int qy=1;
int mx=ori;int my=ori;
while((mx-qx)>1)
{
ori/=2;
if((y-qy)<ori&&(x-qx)<ori)
{
print(mx,my,1,ori);
mx-=ori;my-=ori;
}
else if((y-qy)>=ori&&(x-qx)<ori)
{
print(mx,qy,2,ori);
mx-=ori;qy+=ori;
}
else if((y-qy)<ori&&(x-qx)>=ori)
{
print(qx,my,3,ori);
qx+=ori;my-=ori;
}
else if((y-qy)>=ori&&(x-qx)>=ori)
{
print(qx,qy,4,ori);
qx+=ori;qy+=ori;
}
}
if(mx-qx==1)
{
if(x==qx&&y==qy)
{
printf("%d %d 1",mx,my);
}
else if(x==mx&&y==qy)
{
printf("%d %d 3",qx,my);
}
else if(x==qx&&y==my)
{
printf("%d %d 2",mx,qy);
}
else if(x==mx&&y==my)
{
printf("%d %d 4",qx,qy);
}
}
return 0;
}