import java.util.Scanner;

public class Main {
	public static void main(String[] args) {

		try (Scanner sc = new Scanner(System.in)) {
			long N = Long.parseLong(sc.next());
			long temp = 0L;
			int ret = 10;
			// Set<Long> s = new HashSet<>();
			for(long i = 1L; i <= 100000; i++) {
				if(!(N % i == 0)) {
					continue;
				}
				// System.out.println("F(" + (N /i) + ", " + i + ")");
				temp = Math.max(N /i, i);
				// if(!s.add(temp)) break;
				ret = Math.min(ret, String.valueOf(temp).length());
			}
			System.out.println(ret);
		} // Scanner Close
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz