number = int(input())

sieve = [True for i in range(number + 1)]
sieve[1] = False
sieve[0] = False
for i in range(2, number + 1):
    if sieve[i] == True:
        j = 2*i
        while j <= number:
            sieve[j] = False
            j += i

# is_prime_cache = dict()
# print("X")

def is_prime(number):
    # if number in is_prime_cache: return is_prime_cache[number]
    # is_prime_cache[number] = sieve[number]
    return sieve[number]

# get_primes_cache = dict()

def get_primes(number):
    # if number in get_primes_cache: return get_primes_cache[number]
    if (not is_prime(number)): return 0
    result = 1
    str_number = str(number)
    for i in range(len(str_number)):
        new_number = str_number[:i] + str_number[i+1:]
        if new_number == '': continue
        result = max(result, 1 + get_primes(int(new_number)))
    
    # get_primes_cache[number] = result
    return result

print(get_primes(number))
