package main

import(
  "bufio"
  "fmt"
  "os"
  "sort"
  "strconv"
  "strings"
)

func main(){
    input:=bufio.NewScanner(os.Stdin)
    input.Scan()
    len,_:=strconv.Atoi(input.Text())
    
    input.Scan()
    list:=strings.Split(input.Text()," ")
    list_int := make([]int,len)
    for i:=0;i<len;i++{
        list_int[i],_=strconv.Atoi(list[i])
    }
    
    input.Scan()
    sort_type,_:=strconv.Atoi(input.Text())
    
    sort.Slice(list_int,func(i,j int)bool{
        if sort_type==0{
            return list_int[i]<list_int[j]
        }else{
            return list_int[i]>list_int[j]
        }
    })
    
    for _,value:=range list_int{
        fmt.Printf("%d ",value)
    }  
      
}