#include <bits/stdc++.h>
using namespace std;
long long int mat[200000];
int main() {
  long long int n, k = 0, l = 1, q, chet = 0, max1 = 0, m = 1;
  cin >> n;
  q = n;
  vector<int> vec;
  if (n == 1 || n == 2) {
    cout << n << " 0";
    return 0;
  }
  for (int d = 2; d <= sqrt(n); d++) {
    if (n % d == 0) {
      chet = 0;
      while (n % d == 0) {
        n /= d;
        chet++;
      }
      if (chet > max1) {
        max1 = chet;
      }
      vec.push_back(chet);
      l *= d;
    }
  }
  l *= n;
  if (n == q) {
    cout << n << " 0" << endl;
    return 0;
  }
  m = 1;
  long long int m1 = l;
  while (m < max1) {
    m *= 2;
    k++;
    m1 *= m1;
  }
  if (m1 != q) {
    k++;
  }
  cout << l << " " << k;
}
