import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			long n = scanner.nextLong();
			int sqrt = (int) Math.sqrt(n);
			for (int i = sqrt; i >= 1; i--) {
				if ((n % i) == 0) {
					System.out.println(f(i, n / i));
					return;
				}
			}
		}
	}

	/**
	 * @param a
	 * @param b
	 * @return aとbの10進数の最大桁数
	 */
	private static int f(long a, long b) {
		return Math.max(String.valueOf(a).length(), String.valueOf(b).length());
	}
}

/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