#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;
}