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