John은 정렬 알고리즘을 아주 좋아한다. 퀵 정렬, 병합 정렬, 기수 정렬을 비롯해 여러 알고리즘을 공부했다.
오래전에 John은 락프리 병렬 문자열 정렬 프로그램을 짰다. 버스트 정렬과 다중 키 퀵 정렬을 합친 물건이었다. 버스트 정렬을 구현하려면 버킷으로 이루어진 트리를 만들어야 한다. 입력 문자열마다 트리를 따라 내려가면서 문자열의 일부를 알맞은 버킷에 넣는다. 버킷이 가득 차면 그 버킷은 "터지면서" 새 버킷을 가진 부분 트리로 바뀐다.

그림 G.1: 버스트 정렬 자료구조
옛날 이야기는 여기까지다. 오늘 John은 다시 정렬 알고리즘을 만지고 있고, 이번 대상은 숫자다. 그는 "익스트림 정렬"이라는 새 알고리즘을 떠올렸다. 속도가 극도로 빨라서 성능 수치가 9000을 넘는다. 세부 내용을 남에게 말하기 전에 John은 알고리즘이 제대로 도는지 확인하고 싶다.
알고리즘의 첫 단계가 끝난 뒤 익스트림 성질이 성립하는지 검증하라. 익스트림 성질은 min(xi,j)≥0 으로 정의하며, xi,j 는 다음과 같다.
xi,j={aj−ai9001(1≤i<j≤N)(그 외)첫째 줄에 정수 N (1≤N≤1024)이 주어진다.
둘째 줄에 정수 a1 a2 … aN (1≤ai≤1024)이 공백으로 구분되어 주어진다.
주어진 입력에서 익스트림 성질이 성립하면 yes, 성립하지 않으면 no를 한 줄에 출력한다. 모두 소문자로 쓴다.