#include<stdio.h>
int main()
{
    int n,i,j,t;
    int a[1000];
    int val;
    int fal=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for (j = 0; j < n - 1; j++)        /*用冒泡排序先进行升序排序*/
        {
          for (i = 0; i < n - 1 - j; i++)
                if (a[i] > a[i + 1])
                {
                    t = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = t;
                    fal = 1;            /*如果在n次循环结束前已经排好,则跳出循环,进行优化*/
                }
            if (fal == 0)
                break;
        }
    scanf("%d",&t);
    if(t==0)                  /*t==0就升序输出*/
        for(i=0;i<n;i++)
            printf("%d ",a[i]);
    else                      /*t==1就降序输出*/
        for(i=n-1;i>=0;i--)
            printf("%d ",a[i]);
    return 0;
}