#include <bits/stdc++.h>
#include <vector>

using namespace std;

int main()
{
    int n,c=0,d=0,br=0,max=0;
    cin >> n;
    vector<int> v;
    int a[n];
    for (int k=0;k<n;k++)
    {
        scanf("%d",&a[k]);
        v.push_back(a[k]);
        if (a[k]==0) br++;
    }
    if (n>2 && br==0)
    {
    for (int i=0;i<n;i++)
    {
        for (int j=1;j<n;j++)
        {
         if (a[j]>a[i])
         {
            c=a[i];
            a[i]=a[j];
            a[j]=c;
            for (int l=0;l<n;l++)
            {
             printf("%d ",a[l]);
            }
            return 0;
         }
        }
    }
    }
    else if (n>2 && br!=0)
    {
    sort(v.begin(), v.end());
    for (int i1=0;i1<n;i1++)
    {
    if (a[i1]==v.back())
    max=i1;
    }
         for (int i2=0;i2<n;i2++)
        {
         if (a[i2]==0)
         {
                a[i2]=v.back();
                a[max]=0;
            for (int i3=0;i3<n;i3++)
            {
             printf("%d ",a[i3]);
            }
                return 0;
        }
        }
    }
    else if (n==2)
    {
        d=a[0];
        a[0]=a[1];
        a[1]=d;
    }

    for (int l=0;l<n;l++)
    {
        printf("%d ",a[l]);
    }
    return 0;
}