#include<bits/stdc++.h>
using namespace std;
int bx[100], by[100];
int ans=0;
int visit[5][8]={0};
int fx[8]={2,2,-2,-2,1,1,-1,-1};
int fy[8]={1,-1,1,-1,2,-2,2,-2};
void dfs(int x,int y,int step){
bx[step]=x;
by[step]=y;
visit[x][y]=1;
if (x==4&&y==7){
ans++;
cout<<ans<< ":";
for (int i=1;i<=step;i++){
cout<<bx[i]<<","<<by[i];
if (i!=step) cout<<"->";
}
cout<<endl;
visit[x][y]=0;
return;
}
for (int i=0;i<8;i++){
int tx=x+fx[i];
int ty=y+fy[i];
if (tx>=1&&tx<=4&&ty>=1&&ty<=7&&visit[tx][ty]==0){
dfs(tx,ty,step+1);
}
}
visit[x][y]=0;
}
int main(){
dfs(1,1,1);
return 0;
}
/**************************************************************
Problem: 1362
User: panyuchen
Language: C++
Result: Output Limit Exceed
****************************************************************/