#include <bits/stdc++.h>
using namespace std;
int a[25][25],t,b[25][25];
int dx[4]={2,1,-1,-2},dy[4]={1,2,2,1},u=1;
struct node{
    int x,y;
};
deque<node>s;
void l(){
    cout<<u<<":"<<0<<","<<0;
    for(int i=1;i<s.size();i++){
        cout<<"->"<<s[i].x<<","<<s[i].y;
    }
    cout<<endl;
    u++;
}
void dfs(int x,int y){
    if(x==4&&y==8){
        l();
    }
    for(int i=0;i<4;i++){
        int tx=x+dx[i],ty=y+dy[i];
        if(tx>=0&&tx<=4&&ty>=0&&ty<=8&&b[tx][ty]==0){
            b[tx][ty]=1;
            s.push_back({tx,ty});
            dfs(tx,ty);
            b[tx][ty]=0;
            s.pop_back();
        }
    }
}
int main(){
    b[1][1]=0;
    s.push_back({0,0});
    dfs(0,0);
    return 0;
}