

# 기본 입출력
# 모든 프로그램은 적절한 입출력 양식을 가지고 있음.
# 프로그램 동작의 첫 번째 단계는 데이터를 입력받거나 생성하는 것
# (ex)학생의 성적 데이터가 주어지고, 이를 내림차순으로 정렬한 결과를 출력하는 프로그램


# 자주 사용되는 표준 입력 방법

# input()
# 한 줄의 문자열을 입력 받는 함수


# map()
# 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용

# (ex) 공백을 기준으로 구분된 데이터를 입력받을 때
# list(map(int,input().split()))
# 데이터를 입력받음 -> 입력받은 데이터를 공백 기준으로 구분 -> 
# 구분된 각 데이터(리스트의 원소가 됨)를 정수형으로 변환하여 리스트 생성
# 즉, 공백을 기준으로 구분되어 입력되는 정수형 데이터를 입력을 받아 리스트에 저장하는 것

# (ex) 공백을 기준으로 구분된 데이터의 개수가 많지 않을 때
# a, b, c = map(int, input().split())
# 굳이 리스트를 사용하지 않고 입력받을 값을 단순히 a, b, c에 차례로 저장
# 이럴 경우 입력 개수를 변수의 개수와 맞춰서 입력해야 함



# 데이터의 개수 입력
n = int(input())   # 5 입력

# 각 데이터를 공백을 기준으로 구분하여 입력
# int형으로 바꿔주지 않으면 '34', '65', '87', '23', '89' 문자 형태로 저장됨
data = list(map(int, input().split()))  # 34 65 87 23 89 입력

data.sort(reverse=True) # 내립차순 정렬
print(data)     # [89, 87, 65, 34, 23] 출력



# n, m, k를 공백을 기준으로 구분하여 입력
n, m, k = map(int, input().split()) # 23 34 65 입력

print(n, m, k) # 23 34 65 출력


# 빠르게 입력 받기
# sys.stdin.readline()
# sys 라이브러리에 정의되어 있는 메서드
# 사용자로부터 입력을 최대한 빠르게 받아야 하는 경우 사용
# 단, 입력 후 엔터(Enter)가 줄 바꿈 기호로 입력되므로 rstrip() 메서드를 함께 사용하여 엔터 기호는 제거
# 인진 탐색, 정렬, 그래프 관련 문제에서 자주 사용(입력에 시간을 최소한으로 소모하도록 할 때)





import sys   # readline()메서드 사용하기 위해 메서드가 포함된 라이브러리 import

# 문자열 입력받기
data = sys.stdin.readline().rstrip()  # hi 입력
print(data)  # hi 출력



# 자주 사용되는 표준 출력 방법
# print()
# 파이썬에서 기본 출력 시 사용하는 함수
# 각 변수를 콤마(,)를 이용하여 띄어쓰기로 구분하여 출력할 수 있음
# print()는 기본적으로 출력 이후에 줄 바꿈을 수행함
# 단, 줄바꿈을 원치 않는 경우, 'end'속성을 이용
# end 속성의 기본값은 줄 바꿈이지만 이것을 변경해 줄 수있음

# 출력할 변수들

a = 1
b = 2
print(a, b)             # 1 2 출력 (자동 줄바꿈 처리)
print(7, 8, end = " ")  # end 속성값을 줄 바꿈(기본) -> 공백으로 변경
print(8, 9, end = " ")  # 7 8 8 9 출력 (자동 줄바꿈 처리X -> 공백 처리)

answer = 7
print("정답은 "+ str(answer)+ "입니다.")  # 정답은7입니다. 출력




# f-string
# 특정한 문장을 더욱 더 간단하게 출력하기 위해 사용
# 파이썬3.6부터 사용 가능
# 문자열 앞에 접두사 'f'를 붙여 사용
# 중괄호 안에 변수명을 기입하여 간단히 문자열과 정수를 함께 넣을 수 있음

answer = 7
print(f"정답은 {answer}입니다.") # 정답은 7입니다.  출력










