#include<bits/stdc++.h>
using namespace std;
int n,a[101];
bool vis[100];
void dfs(int g,string s)
{
	if(g>n)
	{
		cout<<s<<endl;
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(!vis[i])
		{
			vis[i]=1;
			dfs(g+1,s+char(a[i]+'0')+' ');
			vis[i]=0;
		}
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	dfs(1,"");
}
/**************************************************************
	Problem: 1685
	User: wuyunfeng
	Language: C++
	Result: Time Limit Exceed
****************************************************************/