#include <bits/stdc++.h>
using namespace std;
long long x;
vector<pair<long long, long long> > factors;
void factorize(long long n) {
  factors.clear();
  for (long long i = 2; i * i <= n; i++) {
    long long fl = 0, cnt = 0;
    while (n % i == 0) {
      n /= i;
      cnt++;
      fl = 1;
    }
    if (fl) factors.push_back(make_pair(i, cnt));
  }
  if (n > 1) factors.push_back(make_pair(n, 1));
}
int main() {
  scanf("%lld", &x);
  factorize(x);
  long long maxi = 0, ans = 1, add = 0;
  for (int i = 0; i < factors.size(); i++) {
    ans *= factors[i].first;
    maxi = max(maxi, factors[i].second);
  }
  long long pow2 = 1, cnt = 0;
  while (pow2 < maxi) {
    pow2 *= 2;
    ++cnt;
  }
  for (int i = 0; i < factors.size(); i++)
    if (factors[i].second != pow2) add = 1;
  printf("%lld %lld\n", ans, cnt + add);
}
