import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Solution {
public String PrintMinNumber(int [] numbers) {
ArrayList<String> list = new ArrayList<>();
for(int i=0;i<numbers.length;i++){
list.add(String.valueOf(numbers[i]));
}
Collections.sort(list,new Comparator<String>(){
public int compare(String s1,String s2){
char[] c1 = s1.toCharArray();
char[] c2 = s2.toCharArray();
int i=0;
while(i<c1.length && i<c2.length){
if(c1[i] > c2[i]) return 1;
else if(c1[i] < c2[i]) return -1;
i++;
}
if(i == c1.length) {
int j = i;
i--;
while(j<c2.length && c1[i] == c2[j]){
j++;
}
j--;
if(c1[i] > c2[j]){
return 1;
}else return -1;
}else{
int j = i;
i--;
while(j<c1.length && c1[j] == c2[i]){
j++;
}
j--;
if(c1[j] > c2[i]){
return 1;
}else return -1;
}
}
});
String res = "";
for(String str:list){
res += str;
}
return res;
}
}