Ghép số

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, OCaml, Output, Pascal, PHP, Prolog, Python, Ruby, Rust, Scala, Swift
Điểm: 200 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho \(n\) số nguyên dương \(a_1,a_2,...,a_n\), mỗi số không vượt quá \(10^7\). Từ các số này người ta có thể tạo ra một số nguyên mới bằng cách ghép tất cả các số đã cho, tức là viết liên tiếp các số đã cho với nhau. Ví dụ với dãy số \([123,124,56,90]\) ta có thể tạo ra các số mới sau: \(1231245690,1241235690,...\). Trong các số trên, số lớn nhất có thể tạo ra được là \(9056124123\).

Yêu cầu: Cho \(n\) và các số \(a_1,a_2,...,a_n\). Hãy xác định số lớn nhất có thể tạo được theo cách trên.

Input

  • Dòng 1: \(n\) \((1 \le n \le 100)\)
  • Dòng 2: \(a_1,a_2,...,a_n\) \((1 \le a_i \le 10^5)\)

Output

  • Đáp án

Example

Test 1

Input
4
557 92 19 47
Output
925574719

Test 2

Input
4
1 1 1 1
Output
1111

Bình luận