bool cmp(int x,int y)
{
if(x>y) return true;
else return false;
}
int main(){
int a[11]={1,3,6,2,0,9,45,21,67,7,28};
sort(a+0,a+11,cmp);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}
struct node
{
int num;
int data;
}c[100000+10];
bool cmp(const node &x, const node &y)
{
return x.data>y.data;
}
int main()
{
int n,k;
cin>>n;
for(int i=0;i<n;i++) c[i].num=i;
for(int i=0;i<n;i++) cin>>c[i].data;
sort(c+0,c+n,cmp);
for(int i=0;i<n;i++) cout<<c[i].data<<' ';
puts("");
for(int i=0;i<n;i++) cout<<c[i].num<<' ';
puts("");
}