#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e18;
const long double EPS = 1e-7;
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  if (n == 1) {
    cout << 1 << " " << 0 << endl;
    return 0;
  }
  long long old_n = n;
  vector<long long> st;
  long long min_val = 1;
  for (long long i = 2; i * i <= old_n; ++i) {
    if (n % i == 0) {
      long long cnt = 0;
      min_val *= i;
      while (n % i == 0) {
        n /= i;
        ++cnt;
      }
      st.push_back(cnt);
    }
  }
  if (n > 1) {
    min_val *= n;
    st.push_back(1);
  }
  long long ans = 0;
  while (true) {
    bool f = false;
    for (long long& it : st) {
      if (it % 2 != 0) {
        f = true;
      }
    }
    if (!f) {
      for (long long& it : st) {
        it /= 2;
      }
      ++ans;
    } else {
      break;
    }
  }
  long long maxi = *max_element(st.begin(), st.end());
  if (maxi > 1) {
    ++ans;
    long long add = 0;
    while ((1 << add) < maxi) {
      ++add;
    }
    ans += add;
  }
  cout << min_val << " " << ans << endl;
  return 0;
}
