local s = io.read()
local n = #s
local t = {}
for i = 1, n do t[i] = s:sub(i, i):byte() - 96 end
local endpos = {}
local box = {}
local bc = 0
local function clearbox()
  for i = 1, 26 do
    box[i] = false
  end
  bc = 0
end
clearbox()
for i = 1, n do
  if not box[t[i]] then
    box[t[i]] = true
    bc = bc + 1
  end
  if bc == 26 then
    table.insert(endpos, i)
    clearbox()
  end
end
clearbox()
if #endpos == 0 then
  for i = 1, n do
    box[t[i]] = true
  end
  for i = 1, 26 do
    if not box[i] then
      print(string.char(96 + i))
      break
    end
  end
else
  local ret = {"a"}
  local prv = 0
  for i = 1, n do if t[i] == 1 then prv = i break end end
  for i = 1, #endpos do
    clearbox()
    for j = prv + 1, endpos[i] do
      box[t[j]] = true
    end
    for j = 1, 26 do
      if not box[j] then
        table.insert(ret, string.char(96 + j))
        for k = endpos[i] + 1, n do
          if t[k] == j then
            prv = k
            break
          end
        end
        break
      end
    end
  end
  print(table.concat(ret))
end
