/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
int[]data = {1,2,-9,-134,12,1};
int[]result = sort(data);
}
static int MAX_DIGIT_INT = 10; // MAX_INT = (2^31 - 1)
static int[] sort(int[]data){
ArrayList
<Integer
>[]count
= new ArrayList[MAX_DIGIT_INT
]; for(int i = 0; i < MAX_DIGIT_INT; i++){
count[i] = new ArrayList<>();
}
for(int i : data){
count[getNumDigit(i)].add(i);
}
int[]result = new int[data.length];
int index = 0;
for(ArrayList<Integer> list : count){
for(int i : list){
result[index++] = i;
}
}
return result;
}
static int getNumDigit(int v){
int result = 0;
while(v != 0){
result++;
v /= 10;
}
return result;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWludFtdZGF0YSA9IHsxLDIsLTksLTEzNCwxMiwxfTsKCQlpbnRbXXJlc3VsdCA9IHNvcnQoZGF0YSk7CgkJU3lzdGVtLm91dC5wcmludGxuKEFycmF5cy50b1N0cmluZyhyZXN1bHQpKTsKCX0KCXN0YXRpYyBpbnQgTUFYX0RJR0lUX0lOVCA9IDEwOyAvLyBNQVhfSU5UID0gKDJeMzEgLSAxKQoJc3RhdGljIGludFtdIHNvcnQoaW50W11kYXRhKXsKCQlBcnJheUxpc3Q8SW50ZWdlcj5bXWNvdW50ID0gbmV3IEFycmF5TGlzdFtNQVhfRElHSVRfSU5UXTsKCQlmb3IoaW50IGkgPSAwOyBpIDwgTUFYX0RJR0lUX0lOVDsgaSsrKXsKCQkJY291bnRbaV0gPSBuZXcgQXJyYXlMaXN0PD4oKTsKCQl9CgkJZm9yKGludCBpIDogZGF0YSl7CgkJCWNvdW50W2dldE51bURpZ2l0KGkpXS5hZGQoaSk7CgkJfQoJCWludFtdcmVzdWx0ID0gbmV3IGludFtkYXRhLmxlbmd0aF07CgkJaW50IGluZGV4ID0gMDsKCQlmb3IoQXJyYXlMaXN0PEludGVnZXI+IGxpc3QgOiBjb3VudCl7CgkJCWZvcihpbnQgaSA6IGxpc3QpewoJCQkJcmVzdWx0W2luZGV4KytdID0gaTsKCQkJfQoJCX0KCQlyZXR1cm4gcmVzdWx0OwoJfQoJCglzdGF0aWMgaW50IGdldE51bURpZ2l0KGludCB2KXsKCQlpbnQgcmVzdWx0ID0gMDsKCQl3aGlsZSh2ICE9IDApewoJCQlyZXN1bHQrKzsKCQkJdiAvPSAxMDsKCQl9CgkJcmV0dXJuIHJlc3VsdDsKCX0KfQ==