#include<bits/stdc++.h>
using namespace std;
vector<int>vec[15],result;
bool mat[6][6];
void backtracking(int node)
{
int i;
if(result.size()==9)
{
for(i=0;i<result.size();i++)
{
printf("%d",result[i]);
}
puts("");
return;
}
for(i=0;i<vec[node].size();i++)
{
if(mat[node][vec[node][i]]==0 && mat[vec[node][i]][node]==0)
{
mat[node][vec[node][i]] = 1;
mat[vec[node][i]][node] = 1;
result.push_back(vec[node][i]);
backtracking(vec[node][i]);
mat[node][vec[node][i]] = 0;
mat[vec[node][i]][node] = 0;
result.pop_back();
}
}
return;
}
int main()
{
vec[1].push_back(2);
vec[1].push_back(3);
vec[1].push_back(5);
vec[2].push_back(1);
vec[2].push_back(3);
vec[2].push_back(5);
vec[3].push_back(1);
vec[3].push_back(2);
vec[3].push_back(4);
vec[3].push_back(5);
vec[4].push_back(3);
vec[4].push_back(5);
vec[5].push_back(1);
vec[5].push_back(2);
vec[5].push_back(3);
vec[5].push_back(4);
result.push_back(1);
backtracking(1);
return 0;
}