package main

import (
    "sort"
    "strings"
    "strconv"
)

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param numbers int整型一维数组 
 * @return string字符串
*/
func PrintMinNumber( numbers []int ) string {
    // write code here
    ans := []string{}
    for _, num := range numbers {
        ans = append(ans, strconv.Itoa(num))
    }
	// 自定义排序规则,将两个部分结合后较小的排在前面
	// "3" + "32" = 332 > "32" + "3" = 323
  	// 将 "32" 交换到 "3" 之前
    sort.Slice(ans, func(i, j int) bool {
        return ans[i]+ans[j] < ans[j]+ans[i]
    })

    builder := strings.Builder{}
    for _, str := range ans {
        builder.WriteString(str)
    }
  
    return builder.String()
}