from collections import deque

def is_prime(n: int) -> bool:
    if n <= 1 or n % 2 == 0:
        return False
    for i in range(3, round(n**(1/2)) + 1, 2):
        if n % i == 0:
            return False
    
    return True

mx = 0

q = deque()

number = int(input())
q.append((number, 0))

while len(q) > 0:
    current, depth = q.popleft()
    if not is_prime(current):
        continue

    mx = max(depth + 1, mx)

    s = str(current)

    if len(s) <= 1:
        continue

    for i in range(len(s)):
        n_str = s[:i] + s[i+1:]
        n = int(n_str)
        q.append((n, depth + 1))

print(mx)