import java.util.*;
class Main{
    static Scanner sc = new Scanner(System.in);
    public static void main(String args[]){
        long n=sc.nextLong(),a=0;
      	int s=(int)Math.sqrt(n);
        for(int i=1;i<=s;i++){
            if(n%i==0) a=i;
        }
        System.out.println(1+(int)Math.log10(n/a));
    }
} import java.util.*; util.* java class Main{
    static Scanner sc = new Scanner(System.in);
    public static void main(String args[]){
        long n=sc.nextLong(),a=0;
      	int s=(int)Math.sqrt(n);
        for(int i=1;i<=s;i++){
            if(n%i==0) a=i;
        }
        System.out.println(1+(int)Math.log10(n/a));
    }
} Main static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String args[]){
        long n=sc.nextLong(),a=0;
      	int s=(int)Math.sqrt(n);
        for(int i=1;i<=s;i++){
            if(n%i==0) a=i;
        }
        System.out.println(1+(int)Math.log10(n/a));
    } main {
        long n=sc.nextLong(),a=0;
      	int s=(int)Math.sqrt(n);
        for(int i=1;i<=s;i++){
            if(n%i==0) a=i;
        }
        System.out.println(1+(int)Math.log10(n/a));
    } long n=sc.nextLong() n sc.nextLong() sc.nextLong sc a=0; a 0 int s=(int)Math.sqrt(n); s (int)Math.sqrt(n) Math.sqrt Math n for(int i=1;i<=s;i++){
            if(n%i==0) a=i;
        } int i=1; int i=1; i 1 i<=s i s i++ i++ i {
            if(n%i==0) a=i;
        } {
            if(n%i==0) a=i;
        } if(n%i==0) a=i; n%i==0 n%i n i 0 a=i a i System.out.println(1+(int)Math.log10(n/a)) System.out.println System.out System System.out 1+(int)Math.log10(n/a) 1 (int)Math.log10(n/a) Math.log10 Math n/a n a String args[] args
import java.util.*;
class Main{
    static Scanner sc = new Scanner(System.in);
    public static void main(String args[]){
        long n=sc.nextLong(),a=0;
      	int s=(int)Math.sqrt(n);
        for(int i=1;i<=s;i++){
            if(n%i==0) a=i;
        }
        System.out.println(1+(int)Math.log10(n/a));
    }
}