import math

N = int(eval(input()))

ans = 1000

for k in range(1,math.floor(math.sqrt(N))+1):

    if N % k == 0:

        ans = min(ans,max(len(str(k)),len(str(N//k))))

print(ans)

import math

N = int(eval(input()))

ans = len(str(N))

for k in range(2,math.floor(math.sqrt(N))+1):

    if N % k == 0:

        ans = min(ans,max(len(str(k)),len(str(N//k))))

print(ans)

import math

N = int(eval(input()))
ans = 1000
for k in range(1, math.floor(math.sqrt(N)) + 1):
    if N % k == 0:
        ans = min(ans, max(len(str(k)), len(str(N // k))))
print(ans)

import math

N = int(eval(input()))
ans = len(str(N))
for k in range(2, math.floor(math.sqrt(N)) + 1):
    if N % k == 0:
        ans = min(ans, max(len(str(k)), len(str(N // k))))
print(ans)

-ans = 1000 -for k in range(1, math.floor(math.sqrt(N)) + 1): +ans = len(str(N)) +for k in range(2, math.floor(math.sqrt(N)) + 1):