아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Задача для Альфа

시간 제한2초메모리 제한1024 MB

요약
음이 아닌 정수 n개를 이어 붙여 만들 수 있는 수 중 가장 큰 수가 되도록 순서를 정해 출력한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 문자열, 구현
정답자
아직 제출이 없습니다

문제

Чтобы хоть как-то занять Альфа, Вилли Таннер предложил ему любопытную задачу.

У Альфа есть nn неотрицательных чисел. Каждое число можно приписать в конец другому и получить новое число. Например, если есть числа 123123 и 456456, из них можно получить либо 123456123456, либо 456123456123. Задача состоит в том, чтобы, объединив все числа в одно, таким образом получить наибольшее возможное. Так, если у Альфа есть два числа 123123 и 456456, то ответ на задачу будет 456123456123.

Вилли схитрил и дал Альфу очень много чисел, но телевизор сам себя не посмотрит, поэтому Альф просит вас написать программу, которая решит эту задачу.

입력

В первой строке входного файла задано число nn (1≤n≤1051 \le n \le 10^5) --- количество чисел данных Альфу. Во второй строке файла через пробел даны nn чисел a_ia\_i (0≤a_i≤1090 \le a\_i \le 10^9) --- данные Альфу числа.

출력

В выходной файл через пробел выведите nn чисел из входного файла в таком порядке, чтобы при их последовательном соединении получалось наибольшее из возможных чисел.

예제2

  1. 예제 1

    입력
    3
    1 2 3
    
    예상 출력
    3 2 1
    
  2. 예제 2

    입력
    4
    20 17 18 2
    
    예상 출력
    2 20 18 17