#include <bits/stdc++.h>
using namespace std;
const long long int N = 1e5 + 2;
const long long int inf = 1e16 + 9;
const long long int mod = 1e9 + 7;
int main() {
  long long int n, i, j, k, temp, mxcnt = 0, ans = 1, mul = 0;
  cin >> n;
  if (n == 1) {
    printf("1 0\n");
    return 0;
  }
  temp = n;
  set<long long int> second;
  for (i = 2; n > 1; i++) {
    long long int cnt = 0;
    while (n % i == 0) {
      cnt++;
      n /= i;
    }
    if (cnt != 0) {
      ans = ans * i;
      second.insert(cnt);
    }
    mxcnt = max(mxcnt, cnt);
  }
  long long int moves = ceil(log2(mxcnt));
  if (second.size() == 1) {
    if (ceil(log2(mxcnt)) != floor(log2(mxcnt))) mul = 1;
  } else
    mul = 1;
  cout << ans << " " << moves + mul << endl;
  return 0;
}
