using
System;
using
System.Collections.Generic;
public
class
GFG{
static
void
lexicographicalSmallestString(
char
[] S,
int
n)
{
HashSet<String> collection =
new
HashSet<String>();
for
(
int
i = 0; i < n; ++i) {
String cur =
""
;
for
(
int
j = i; j < n; ++j) {
cur += (S[j]);
collection.Add(cur);
}
}
Queue<String> q =
new
Queue<String>();
for
(
int
i = 0; i < 26; ++i) {
q.Enqueue(String.Join(
""
,(
char
)((i +
'a'
))));
}
while
(q.Count != 0) {
String cur = q.Peek();
q.Dequeue();
if
(!collection.Contains(cur)) {
Console.Write(cur +
"\n"
);
return
;
}
for
(
int
i = 0; i < 26; ++i) {
cur += String.Join(
""
,(
char
)((i +
'a'
)));
q.Enqueue(cur);
cur=cur.Substring(0,cur.Length-1);
}
}
}
public
static
void
Main(String[] args)
{
String S =
"aabacdefghijklmnopqrstuvwxyz"
;
int
N = S.Length;
lexicographicalSmallestString(S.ToCharArray(), N);
}
}