#include <bits/stdc++.h>
using namespace std;
int main() {
  int64_t n, m;
  cin >> n;
  m = n;
  vector<int> del(n + 1, 0);
  int cur = 2;
  while (m > 1) {
    if (m % cur == 0) {
      if (n == cur) {
        cout << n << ' ' << 0;
        return 0;
      }
      m /= cur;
      del[cur]++;
    } else
      cur++;
  }
  int count = 0;
  int maxc = 0;
  for (int i = 0; i <= n; ++i) {
    if (del[i] > maxc) maxc = del[i];
  }
  int curst = 1, pow = 0;
  for (int i = 0; i <= n; ++i) {
    if (del[i] > curst) {
      while (curst < del[i]) {
        curst *= 2;
        pow++;
      }
    }
  }
  bool isnew = false;
  for (int i = 0; i <= n; ++i) {
    if (del[i] > 0) {
      if (del[i] != curst) isnew = true;
      del[i] = curst;
    }
  }
  if (isnew) count++;
  count += pow;
  int ans = 1;
  for (int i = 0; i < n; ++i)
    if (del[i] > 0) ans *= i;
  cout << ans << ' ' << count;
  return 0;
}
