n=int(eval(input()))

m=int((n**(1/2))//1+1)

l=[]

for i in list(range(m+1))[:0:-1]:

  if n%i==0:

    l.append(max(len(str(i)),len(str(n//i))))

  if len(l)==2:

    break

print((min(l)))
n=int(eval(input()))

m=int((n**(1/2))//1+1)

l=[]

for i in list(range(m+1))[:0:-1]:

  if n%i==0:

    l.append(max(len(str(i)),len(str(n//i))))

    break

print((min(l)))
n = int(eval(input()))
m = int((n ** (1 / 2)) // 1 + 1)
l = []
for i in list(range(m + 1))[:0:-1]:
    if n % i == 0:
        l.append(max(len(str(i)), len(str(n // i))))
    if len(l) == 2:
        break
print((min(l)))

n = int(eval(input()))
m = int((n ** (1 / 2)) // 1 + 1)
l = []
for i in list(range(m + 1))[:0:-1]:
    if n % i == 0:
        l.append(max(len(str(i)), len(str(n // i))))
        break
print((min(l)))

-    if len(l) == 2: