# _*_ coding:utf-8 _*_

#  Atcoder_Beginners_Contest071-B

#  TODO https://atcoder.jp/contests/abc071/tasks/abc071_b



def  firstCharNotFound(givenString):

	# initialize for char

	checkList = [False for _ in range(0,26,+1)]

	stringLength = list(range(0,len(givenString),+1))

	for pos in stringLength:

		charIntVersion = ord(givenString[pos])

		checkList[charIntVersion-97]=True

	charRange = list(range(0,26,+1))

	firstPosition = -1

	for pos in charRange:

		if checkList[pos]==False:

			firstPosition = pos

			break

	if firstPosition == -1:

		return "None"

	else :

		return chr(firstPosition+97)



if __name__ == '__main__':

	S = input().strip()

	solution=firstCharNotFound(S)

	print(("{}".format(solution)))
# Problem:

# Python  Try



import sys

# from collections import defaultdict

# import heapq,copy

# from collections import deque

def II(): return int(sys.stdin.readline())

def MI(): return list(map(int, sys.stdin.readline().split()))

def LI(): return list(map(int, sys.stdin.readline().split()))

def LLI(rows_number): return [LI() for _ in range(rows_number)]



def initSet():

    result = set()

    for j in range(ord('a'),ord('z')+1):

        result.add(chr(j))

    return result



def solver(inputString,allCharSet):

    result = ''

    inputSet = set(inputString)

    # print("INPUT={}".format(inputSet))

    # print("ALL={}".format(allCharSet))

    diffset = allCharSet - inputSet

    # print("DIFF={}".format(diffset))

    difflist = list(diffset)

    difflist.sort()

    # print("{}".format(difflist))

    if len(difflist) == 0:

        result = "None"

    else:

        result = difflist[0]

    return result



if __name__ == "__main__":

    S = sys.stdin.readline().split('\n')

    allset = initSet()

    print(("{}".format(solver(S[0],allset))))

# _*_ coding:utf-8 _*_
#  Atcoder_Beginners_Contest071-B
#  TODO https://atcoder.jp/contests/abc071/tasks/abc071_b
def firstCharNotFound(givenString):
    # initialize for char
    checkList = [False for _ in range(0, 26, +1)]
    stringLength = list(range(0, len(givenString), +1))
    for pos in stringLength:
        charIntVersion = ord(givenString[pos])
        checkList[charIntVersion - 97] = True
    charRange = list(range(0, 26, +1))
    firstPosition = -1
    for pos in charRange:
        if checkList[pos] == False:
            firstPosition = pos
            break
    if firstPosition == -1:
        return "None"
    else:
        return chr(firstPosition + 97)


if __name__ == "__main__":
    S = input().strip()
    solution = firstCharNotFound(S)
    print(("{}".format(solution)))

# Problem:
# Python  Try
import sys

# from collections import defaultdict
# import heapq,copy
# from collections import deque
def II():
    return int(sys.stdin.readline())


def MI():
    return list(map(int, sys.stdin.readline().split()))


def LI():
    return list(map(int, sys.stdin.readline().split()))


def LLI(rows_number):
    return [LI() for _ in range(rows_number)]


def initSet():
    result = set()
    for j in range(ord("a"), ord("z") + 1):
        result.add(chr(j))
    return result


def solver(inputString, allCharSet):
    result = ""
    inputSet = set(inputString)
    # print("INPUT={}".format(inputSet))
    # print("ALL={}".format(allCharSet))
    diffset = allCharSet - inputSet
    # print("DIFF={}".format(diffset))
    difflist = list(diffset)
    difflist.sort()
    # print("{}".format(difflist))
    if len(difflist) == 0:
        result = "None"
    else:
        result = difflist[0]
    return result


if __name__ == "__main__":
    S = sys.stdin.readline().split("\n")
    allset = initSet()
    print(("{}".format(solver(S[0], allset))))

-# _*_ coding:utf-8 _*_ -#  Atcoder_Beginners_Contest071-B -#  TODO https://atcoder.jp/contests/abc071/tasks/abc071_b -def firstCharNotFound(givenString): -    # initialize for char -    checkList = [False for _ in range(0, 26, +1)] -    stringLength = list(range(0, len(givenString), +1)) -    for pos in stringLength: -        charIntVersion = ord(givenString[pos]) -        checkList[charIntVersion - 97] = True -    charRange = list(range(0, 26, +1)) -    firstPosition = -1 -    for pos in charRange: -        if checkList[pos] == False: -            firstPosition = pos -            break -    if firstPosition == -1: -        return "None" +# Problem: +# Python  Try +import sys + +# from collections import defaultdict +# import heapq,copy +# from collections import deque +def II(): +    return int(sys.stdin.readline()) + + +def MI(): +    return list(map(int, sys.stdin.readline().split())) + + +def LI(): +    return list(map(int, sys.stdin.readline().split())) + + +def LLI(rows_number): +    return [LI() for _ in range(rows_number)] + + +def initSet(): +    result = set() +    for j in range(ord("a"), ord("z") + 1): +        result.add(chr(j)) +    return result + + +def solver(inputString, allCharSet): +    result = "" +    inputSet = set(inputString) +    # print("INPUT={}".format(inputSet)) +    # print("ALL={}".format(allCharSet)) +    diffset = allCharSet - inputSet +    # print("DIFF={}".format(diffset)) +    difflist = list(diffset) +    difflist.sort() +    # print("{}".format(difflist)) +    if len(difflist) == 0: +        result = "None" -        return chr(firstPosition + 97) +        result = difflist[0] +    return result -    S = input().strip() -    solution = firstCharNotFound(S) -    print(("{}".format(solution))) +    S = sys.stdin.readline().split("\n") +    allset = initSet() +    print(("{}".format(solver(S[0], allset))))