import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		new Main().execute();
	}

	public void execute() {
		Scanner sc = new Scanner(System.in);
		final long N = sc.nextLong();
		long minFab = Integer.MAX_VALUE;

		for (int i = 1, cap = (int) Math.sqrt(N) + 1; i <= cap; i++) {
			long a = i;
			if (N % a == 0) {
				long b = N / i;
				minFab = Math.min(minFab, F(a, b));
			}
		}
		System.out.println(minFab);
		sc.close();
	}

	private int F(long a, long b) {
		return Math.max(Long.toString(a).length(), Long.toString(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