#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
****************************************************************/