# 题目描述
# 设有n个正整数，将他们连接成一排，组成一个最大的多位整数。
# 如:n=3时，3个整数13,312,343,连成的最大整数为34331213。
# 如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
# 输入描述:
# 有多组测试样例，每组测试样例包含两行，第一行为一个整数N（N<=100），第二行包含N个数(每个数不超过1000，空格分开)。
# 输出描述:
# 每组数据输出一个表示最大的整数。
# 示例1
# 输入
# 复制
# 2
# 12 123
# 4
# 7 13 4 246
# 输出
# 复制
# 12312
# 7424613

#-*- coding: utf-8 -*-
n = int(raw_input())
arr = raw_input().split()
arr.sort(lambda x, y: cmp(x+y, y+x), reverse=True) #降序
print ''.join(arr)

# 思路：cmp(x,y) 函数用于比较2个对象，如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
#       list.sort(cmp=None, key=None, reverse=False)
# 注意这排序思路，为1就交换，为0和-1就不换，cmp在这儿比较的是数字字符串，这点很重要