题目描述
背景一:M(X,Y) 函数
对于两个给定的正整数 X,Y,定义 M(X,Y) 函数的含义为:求出正整数 X 和 Y 两者位数的较大值。
例如:M(120,5)=3,因为 X=120 是 3 位数,而 Y=5 是 1 位数。
背景二:因子对
对于一个正整数 N,它的因子是成对出现的。
例如:100=1∗100=2∗50=4∗25=5∗20=10∗10。
因此任何正整数 N 一定可以分解为 N=X×Y 的形式,仅不同 N 的因子对数量不同。
本题任务
基于上述两个背景条件,给定整数 N,求 N 所有可能的因子对(即满足 X×Y=N)中,M(X,Y) 的最小值是多少?
输入格式
一行,包含一个正整数 N。
输出格式
一行,包含一个整数,代表所有因子对中 M(X,Y) 的最小值。
样例输入输出
样例输入 1
10000
样例输出 1
3
样例输入 2
100000007
样例输出 2
9
样例输入 3
9876543210
样例输出 3
6
样例说明
样例 1 解释:对于 10000=100×100,X=100 和 Y=100 均为 3 位数,此时 M(X,Y)=3,是所有因子对中 M(X,Y) 的最小值。
数据范围
对于所有测试数据,保证 1≤N≤1010。