import math

arr = []
def is_prime(number):
    global arr
    arr = [1 for _ in range(number + 2)]
    arr[0] = 0
    arr[1] = 0
    for i in range(2, int(math.sqrt(number + 1)) + 1):
        if arr[i]:
            for j in range(i*i, number + 1, i):
                arr[j] = 0

    # if number == 0 or number == 1:
    #     return False
    # count = 0
    # for i in range(2, number + 1):
    #     if number % i == 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
#     while number>0:
#         if is_prime(number):
#             counter1 = counter1+1
#             if number_length(number) == 1:
#                 break
#             else:
#                 number = number%(10**(number_length(number)-1))
#         else:
#             break
#     while number>0:
#         if is_prime(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, isFisrt):

    global max_count
    if arr[number]:
        count += 1
    elif isFisrt:
        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())
    is_prime(number)
    rec(number, 0, 0)
    print(max_count)
    # print(count_primes(number))
