import java.io.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    }
} import java.io.*; io.* java import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    }
} Main public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    } main {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long n = sc.nextLong(); n sc.nextLong() sc.nextLong sc int n_sqrt = (int)(Math.sqrt(n)); n_sqrt (int)(Math.sqrt(n)) Math.sqrt Math n for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        } int i = n_sqrt; int i = n_sqrt; i n_sqrt i > 0 i 0 i-- i-- i {
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        } {
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        } if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            } n % i == 0 n % i n i 0 {
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            } System.out.println((int)(Math.log10(n / i) + 1)) System.out.println System.out System System.out (int)(Math.log10(n / i) + 1) Math.log10(n / i) Math.log10 Math n / i n i 1 break; String[] args args public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    }
} public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    }
} Main
import java.io.*;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        int n_sqrt = (int)(Math.sqrt(n));
        for (int i = n_sqrt; i > 0; i--){
            if (n % i == 0){
                System.out.println((int)(Math.log10(n / i) + 1));
                break;
            }
        }
        
    }
}
