#include <iostream>
using namespace std;

int *sel;
int *chk;
const int NUM = 4;

void dfs(int n)
{
	if( n == NUM )
	{
		for( int i = 0 ; i < NUM ; ++i )
			cout << sel[i] << " ";
		cout << endl;
	}
	else
	{
		for( int i = 0 ; i < NUM ; ++i )
		{
			if( chk[i] == 0 )
			{
				chk[i] = 1;
				sel[n] = i;
				dfs(n+1);
				chk[i] = 0;
			}
		}
	}
}

int main() {
	sel = new int[NUM];
	chk = new int[NUM];
	for( int i = 0 ; i < NUM ; ++i )
		sel[i] = chk[i] = 0;
		
	dfs(0);
	
	delete[] sel;
	delete[] chk;
	return 0;
}