import java.util.*;
class Main {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in);
int[] freq = new int[26];
Queue<Character> q = new LinkedList<>();
StringBuilder ans = new StringBuilder();
for (char ch : s.toCharArray()) {
// Count frequency
freq[ch - 'a']++;
// Add current character to queue
q.offer(ch);
// Remove characters that are repeating
while (!q.isEmpty() && freq[q.peek() - 'a'] > 1) {
q.poll();
}
// First non-repeating character
if (q.isEmpty()) {
ans.append('#');
} else {
ans.append(q.peek());
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU2Nhbm5lciBzYyA9IG5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgogICAgICAgIFN0cmluZyBzID0gc2MubmV4dExpbmUoKTsKCiAgICAgICAgaW50W10gZnJlcSA9IG5ldyBpbnRbMjZdOwogICAgICAgIFF1ZXVlPENoYXJhY3Rlcj4gcSA9IG5ldyBMaW5rZWRMaXN0PD4oKTsKICAgICAgICBTdHJpbmdCdWlsZGVyIGFucyA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CgogICAgICAgIGZvciAoY2hhciBjaCA6IHMudG9DaGFyQXJyYXkoKSkgewoKICAgICAgICAgICAgLy8gQ291bnQgZnJlcXVlbmN5CiAgICAgICAgICAgIGZyZXFbY2ggLSAnYSddKys7CgogICAgICAgICAgICAvLyBBZGQgY3VycmVudCBjaGFyYWN0ZXIgdG8gcXVldWUKICAgICAgICAgICAgcS5vZmZlcihjaCk7CgogICAgICAgICAgICAvLyBSZW1vdmUgY2hhcmFjdGVycyB0aGF0IGFyZSByZXBlYXRpbmcKICAgICAgICAgICAgd2hpbGUgKCFxLmlzRW1wdHkoKSAmJiBmcmVxW3EucGVlaygpIC0gJ2EnXSA+IDEpIHsKICAgICAgICAgICAgICAgIHEucG9sbCgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBGaXJzdCBub24tcmVwZWF0aW5nIGNoYXJhY3RlcgogICAgICAgICAgICBpZiAocS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgIGFucy5hcHBlbmQoJyMnKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGFucy5hcHBlbmQocS5wZWVrKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oYW5zKTsKICAgIH0KfQ==