#include <bits/stdc++.h>
using namespace std;
long long f(long long a, long long b) {
  string sa = to_string(a);
  string sb = to_string(b);
  long long x = max(sa.size(), sb.size());
  return x;
}
int main() {
  long long n;
  cin >> n;
  bool is_prime;
  if (n == 2) {
    is_prime = true;
  } else if (n < 2 || n % 2 == 0) {
    is_prime = false;
  } else {
    int i = 3;
    while (i <= sqrt(n)) {
      if (n % i) {
        is_prime = false;
        break;
      }
      i += 2;
    }
  }
  if (is_prime) {
    cout << f(n, 1) << endl;
  } else {
    long long x = 11;
    for (long long i = 1; i <= pow(n, 0.5); i++) {
      if (n % i == 0) {
        long long k;
        k = f(i, n / i);
        if (x > k) {
          x = k;
        }
      }
    }
    cout << x << endl;
  }
}
