import java.util.Scanner;
public class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int[] cnt = new int[26];
for (char c : s.toCharArray()) {
cnt[c - 'a']++;
}
int[] U = new int[26];
U[25] = cnt[25];
for (int i = 24; i >= 0; i--) {
U
[i
] = Math.
min(cnt
[i
], U
[i
+ 1]); }
int[] need = new int[26];
for (int i = 0; i < 26; i++) {
need[i] = U[i];
}
int[] curCount = new int[26];
for (int i = 0; i < 26; i++) {
curCount[i] = cnt[i];
}
StringBuilder stack = new StringBuilder();
for (char c : s.toCharArray()) {
int idx = c - 'a';
curCount[idx]--;
if (need[idx] <= 0) {
continue;
}
while (stack.length() > 0) {
char topChar = stack.charAt(stack.length() - 1);
int topIdx = topChar - 'a';
if (topChar > c && curCount[topIdx] > need[topIdx]) {
stack.deleteCharAt(stack.length() - 1);
need[topIdx]++;
} else {
break;
}
}
stack.append(c);
need[idx]--;
}
System.
out.
println(stack.
toString()); }
}
aW1wb3J0IGphdmEudXRpbC5TY2FubmVyOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuID0gc2MubmV4dEludCgpOwogICAgICAgIFN0cmluZyBzID0gc2MubmV4dCgpOwogICAgICAgIGludFtdIGNudCA9IG5ldyBpbnRbMjZdOwogICAgICAgIGZvciAoY2hhciBjIDogcy50b0NoYXJBcnJheSgpKSB7CiAgICAgICAgICAgIGNudFtjIC0gJ2EnXSsrOwogICAgICAgIH0KICAgICAgICBpbnRbXSBVID0gbmV3IGludFsyNl07CiAgICAgICAgVVsyNV0gPSBjbnRbMjVdOwogICAgICAgIGZvciAoaW50IGkgPSAyNDsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgVVtpXSA9IE1hdGgubWluKGNudFtpXSwgVVtpICsgMV0pOwogICAgICAgIH0KICAgICAgICBpbnRbXSBuZWVkID0gbmV3IGludFsyNl07CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgICAgICAgICAgIG5lZWRbaV0gPSBVW2ldOwogICAgICAgIH0KICAgICAgICBpbnRbXSBjdXJDb3VudCA9IG5ldyBpbnRbMjZdOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjY7IGkrKykgewogICAgICAgICAgICBjdXJDb3VudFtpXSA9IGNudFtpXTsKICAgICAgICB9CiAgICAgICAgU3RyaW5nQnVpbGRlciBzdGFjayA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgZm9yIChjaGFyIGMgOiBzLnRvQ2hhckFycmF5KCkpIHsKICAgICAgICAgICAgaW50IGlkeCA9IGMgLSAnYSc7CiAgICAgICAgICAgIGN1ckNvdW50W2lkeF0tLTsKICAgICAgICAgICAgaWYgKG5lZWRbaWR4XSA8PSAwKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoKCkgPiAwKSB7CiAgICAgICAgICAgICAgICBjaGFyIHRvcENoYXIgPSBzdGFjay5jaGFyQXQoc3RhY2subGVuZ3RoKCkgLSAxKTsKICAgICAgICAgICAgICAgIGludCB0b3BJZHggPSB0b3BDaGFyIC0gJ2EnOwogICAgICAgICAgICAgICAgaWYgKHRvcENoYXIgPiBjICYmIGN1ckNvdW50W3RvcElkeF0gPiBuZWVkW3RvcElkeF0pIHsKICAgICAgICAgICAgICAgICAgICBzdGFjay5kZWxldGVDaGFyQXQoc3RhY2subGVuZ3RoKCkgLSAxKTsKICAgICAgICAgICAgICAgICAgICBuZWVkW3RvcElkeF0rKzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RhY2suYXBwZW5kKGMpOwogICAgICAgICAgICBuZWVkW2lkeF0tLTsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHN0YWNrLnRvU3RyaW5nKCkpOwogICAgfQp9