// 思路:本题考查对数组的排序 可以先将元素存入 arraylist 中, 再调用arraylist.sort(Comparator c)进行排序

/*  arraylist.sort(Comparator c) :  
    元素进行升序排列: Comparator.naturalOrder()  元素进行降序排列:Comparator.reverseOrder()
*/

import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()){
            int size = sc.nextInt(); //接收数组元素个数
            List<Integer> list = new ArrayList<>();
            for (int i = 0; i < size; i++) {  //按数组元素个数 循环接收元素
                list.add(sc.nextInt());  //将每一元素放入 list 中
            }
            int rule = sc.nextInt();  //接收排序规则:一个整数0或1。0代表升序排序
            if (rule == 0){  // 0代表升序排序
                list.sort(Comparator .naturalOrder());
            }else if (rule == 1){  // 1代表降序排序
                list.sort(Comparator .reverseOrder());
            }
            for (Integer n : list){  // 将 list 元素输出,注意元素间用空格隔开
                System.out.print(n+ " ");
            }
        }
    }
}