//TESTE (WAR GAME):
//6
//253 5896 2345 112 2221 221 --> 112 221 2221 2345 253 5896
//5
//1234 5434 7834 1034 3434 --> 1034 1234 3434 5434 7834
//4
//1231 1234 1232 1233 --> 1233 1234 1234 1234
#include <iostream>
using namespace std;
int main() {
int n, v[1000], aux;
cin >> n;
for (int i = 1; i <= n; ++i) { // Citim sirul
cin >> v[i];
}
for (int i = 1; i < n; ++i) {
for (int j = i + 1; j <= n; ++j) { // Cautam elemente mai mici decat v[i]
if (v[i] % 100 > v[j] % 100) { // Am gasit un element mai mic dupa ultimile 2 cifre
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
}
for (int i = 1; i < n; ++i) {
for (int j = i + 1; j <= n; ++j) {
if (v[i] % 100 == v[j] % 100 && v[i] / 100 > v[j] / 100) {// Caz special unde elementele sunt egale
// Punem valoarea din v[j] in v[i] si din v[i] in v[j]
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
}
for (int i = 1; i <= n; ++i) { // Afisam sirul
cout << v[i] << ' ';
}
return 0;
}
Ly9URVNURSAoV0FSIEdBTUUpOiAKIAovLzYgCi8vMjUzIDU4OTYgMjM0NSAxMTIgMjIyMSAyMjEgLS0+IDExMiAyMjEgMjIyMSAyMzQ1IDI1MyA1ODk2IAogCi8vNSAKIAovLzEyMzQgNTQzNCA3ODM0IDEwMzQgMzQzNCAtLT4gMTAzNCAxMjM0IDM0MzQgNTQzNCA3ODM0IAogCi8vNCAKIAovLzEyMzEgMTIzNCAxMjMyIDEyMzMgLS0+IDEyMzMgMTIzNCAxMjM0IDEyMzQgCiAKIAojaW5jbHVkZSA8aW9zdHJlYW0+ICAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAogCmludCBtYWluKCkgeyAgCiAgaW50IG4sIHZbMTAwMF0sIGF1eDsgIAogIGNpbiA+PiBuOyAgCiAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7IC8vIENpdGltIHNpcnVsICAKICAgIGNpbiA+PiB2W2ldOwogIH0gIAogIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgKytpKSB7ICAKICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8PSBuOyArK2opIHsgLy8gQ2F1dGFtIGVsZW1lbnRlIG1haSBtaWNpIGRlY2F0IHZbaV0gIAogICAgICAgIGlmICh2W2ldICUgMTAwID4gdltqXSAlIDEwMCkgeyAvLyBBbSBnYXNpdCB1biBlbGVtZW50IG1haSBtaWMgZHVwYSB1bHRpbWlsZSAyIGNpZnJlIAogICAgICAgIAlhdXggPSB2W2ldOyAgCiAgICAgICAgICAgIHZbaV0gPSB2W2pdOyAgCiAgICAgICAgICAgIHZbal0gPSBhdXg7CiAgICAgICAgfSAgCiAgICAgfSAgCiAgfSAKICAgIAogIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgKytpKSB7ICAKICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8PSBuOyArK2opIHsgIAogICAgICAgIGlmICh2W2ldICUgMTAwID09IHZbal0gJSAxMDAgJiYgdltpXSAvIDEwMCA+IHZbal0gLyAxMDApIHsvLyBDYXogc3BlY2lhbCB1bmRlIGVsZW1lbnRlbGUgc3VudCBlZ2FsZQogICAgICAgICAgICAvLyBQdW5lbSB2YWxvYXJlYSBkaW4gdltqXSBpbiB2W2ldIHNpIGRpbiB2W2ldIGluIHZbal0gIAogICAgICAgICAgICBhdXggPSB2W2ldOyAgCiAgICAgICAgICAgIHZbaV0gPSB2W2pdOyAgCiAgICAgICAgICAgIHZbal0gPSBhdXg7ICAKICAgICAgICB9CiAgICB9CiAgfQogIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgeyAvLyBBZmlzYW0gc2lydWwgIAogICAgY291dCA8PCB2W2ldIDw8ICcgJzsgIAogIH0gIAogIHJldHVybiAwOyAgCn0g