n=int(eval(input()))

for i in range(int((n**0.5+1)//1),0,-1):

  if n/i%1==0:

    f=max(len(str(i)),len(str(n//i)))

    break

print(f)

      
n=int(eval(input()))

s=10**11

for i in range(1,int(n**0.5)+1):

  if n%i==0:

    s=min(s,max(i,n//i))

print((len(str(s))))
n = int(eval(input()))
for i in range(int((n**0.5 + 1) // 1), 0, -1):
    if n / i % 1 == 0:
        f = max(len(str(i)), len(str(n // i)))
        break
print(f)

n = int(eval(input()))
s = 10**11
for i in range(1, int(n**0.5) + 1):
    if n % i == 0:
        s = min(s, max(i, n // i))
print((len(str(s))))

-for i in range(int((n**0.5 + 1) // 1), 0, -1): -    if n / i % 1 == 0: -        f = max(len(str(i)), len(str(n // i))) -        break -print(f) +s = 10**11 +for i in range(1, int(n**0.5) + 1): +    if n % i == 0: +        s = min(s, max(i, n // i)) +print((len(str(s))))