import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
public class Main {
int num
= Integer.
parseInt(br.
readLine()); for(int i = 0; i < str.length; i++) {
str[i] = br.readLine();
}
HashMap
<String, Integer
> map
= new HashMap
<String, Integer
>(); int temp = 0;
for (int i = 0; i < str.length; i++) {
temp = 0;
for (int j = 0; j < str[i].length(); j++) {
temp += str[i].charAt(j) - 48;
}
map.put(str[i], temp);
}
Iterator<String> iter = mapSort(map).iterator();
while (iter.hasNext()) {
bw.
write(String.
valueOf(iter.
next())); bw.newLine();
}
bw.close();
}
public static List
<String
> mapSort
(final HashMap
<String, Integer
> map
) { List<String> list = new ArrayList<String>();
list.addAll(map.keySet());
@Override
if((int)ob2 > (int) ob1) {
return 1;
}else if( (int)ob2 < (int)ob1) {
return -1;
}else {
return 0;
}
}
});
return list;
}
}
CmltcG9ydCBqYXZhLmlvLkJ1ZmZlcmVkUmVhZGVyOwppbXBvcnQgamF2YS5pby5CdWZmZXJlZFdyaXRlcjsKaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOwppbXBvcnQgamF2YS5pby5PdXRwdXRTdHJlYW1Xcml0ZXI7CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OwppbXBvcnQgamF2YS51dGlsLkNvbGxlY3Rpb25zOwppbXBvcnQgamF2YS51dGlsLkNvbXBhcmF0b3I7CmltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKaW1wb3J0IGphdmEudXRpbC5JdGVyYXRvcjsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKcHVibGljIGNsYXNzIE1haW4gewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSkgdGhyb3dzIE51bWJlckZvcm1hdEV4Y2VwdGlvbiwgSU9FeGNlcHRpb24gewoJCUJ1ZmZlcmVkUmVhZGVyIGJyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKCQlCdWZmZXJlZFdyaXRlciBidyA9IG5ldyBCdWZmZXJlZFdyaXRlcihuZXcgT3V0cHV0U3RyZWFtV3JpdGVyKFN5c3RlbS5vdXQpKTsKCQlpbnQgbnVtID0gSW50ZWdlci5wYXJzZUludChici5yZWFkTGluZSgpKTsKCQlTdHJpbmdbXSBzdHIgPSBuZXcgU3RyaW5nW251bV07CgkJZm9yKGludCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgewoJCQlzdHJbaV0gPSBici5yZWFkTGluZSgpOwoJCX0KCgkJSGFzaE1hcDxTdHJpbmcsIEludGVnZXI+IG1hcCA9IG5ldyBIYXNoTWFwPFN0cmluZywgSW50ZWdlcj4oKTsKCQlpbnQgdGVtcCA9IDA7CgkJZm9yIChpbnQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHsKCQkJdGVtcCA9IDA7CgkJCWZvciAoaW50IGogPSAwOyBqIDwgc3RyW2ldLmxlbmd0aCgpOyBqKyspIHsKCQkJCXRlbXAgKz0gc3RyW2ldLmNoYXJBdChqKSAtIDQ4OwoJCQl9CgkJCW1hcC5wdXQoc3RyW2ldLCB0ZW1wKTsKCQl9CgoKCQlJdGVyYXRvcjxTdHJpbmc+IGl0ZXIgPSBtYXBTb3J0KG1hcCkuaXRlcmF0b3IoKTsKCQl3aGlsZSAoaXRlci5oYXNOZXh0KCkpIHsKCQkJYncud3JpdGUoU3RyaW5nLnZhbHVlT2YoaXRlci5uZXh0KCkpKTsKCQkJYncubmV3TGluZSgpOwoJCX0KCQkKCQlidy5jbG9zZSgpOwoKCX0KCglwdWJsaWMgc3RhdGljIExpc3Q8U3RyaW5nPiBtYXBTb3J0KGZpbmFsIEhhc2hNYXA8U3RyaW5nLCBJbnRlZ2VyPiBtYXApIHsKCQlMaXN0PFN0cmluZz4gbGlzdCA9IG5ldyBBcnJheUxpc3Q8U3RyaW5nPigpOwoJCWxpc3QuYWRkQWxsKG1hcC5rZXlTZXQoKSk7CgoJCUNvbGxlY3Rpb25zLnNvcnQobGlzdCwgbmV3IENvbXBhcmF0b3I8T2JqZWN0PigpIHsKCQkJQE92ZXJyaWRlCgkJCXB1YmxpYyBpbnQgY29tcGFyZShPYmplY3QgbzEsIE9iamVjdCBvMikgewoJCQkJT2JqZWN0IG9iMSA9IG1hcC5nZXQobzEpOwoJCQkJT2JqZWN0IG9iMiA9IG1hcC5nZXQobzIpOwoJCQkJaWYoKGludClvYjIgPiAoaW50KSBvYjEpIHsKCQkJCQlyZXR1cm4gMTsKCQkJCX1lbHNlIGlmKCAoaW50KW9iMiA8IChpbnQpb2IxKSB7CgkJCQkJcmV0dXJuIC0xOwoJCQkJfWVsc2UgewoJCQkJCXJldHVybiAwOwoJCQkJfQoJCQl9CgkJfSk7CgkJQ29sbGVjdGlvbnMucmV2ZXJzZShsaXN0KTsKCQlyZXR1cm4gbGlzdDsKCX0KCgp9Cg==