def isPrime(number):
    if number == 0 or number == 1:
        return False
    arr = [i for i in range(2, number+1)]
    count = 0
    for item in arr:
        if number%item==0:
            count = count+1
        if count>1:
            return False
    return True

def number_length(number):
    lengt = 0
    while number>0:
        number = number//10
        lengt = lengt+1
    return lengt

# def count_primes(number):
#     counter1 = 0
#     counter2 = 0
#     # first_try = True
#     while number>0:
#         if isPrime(number):
#             counter1 = counter1+1
#             if number_length(number) == 1:
#                 break
#             else:
#                 number = number%(10*(number_length(number)-1))
#         else:
#             break
#
#     while number>0:
#         if isPrime(number):
#             counter2 = counter2+1
#             if number_length(number) == 1:
#                 break
#             else:
#                 number = number//10
#         else:
#             break
#
#
#     return max(counter1, counter2)
max_count = 0

def rec(number, count, first_try):

    global max_count
    if isPrime(number):
        count += 1
    elif first_try == 1:
        return
    # print(number, count)
    max_count = max(max_count, count)
    if number_length(number) == 1:
        return
    rec(number % pow(10, (number_length(number)-1)), count, 1)
    rec(number // 10, count, 1)




if __name__ == '__main__':
    number = int(input())
    rec(number, 0, 0)
    print(max_count)
    # print(count_primes(number))
