#include <bits/stdc++.h>
using namespace std;
int s[1001], top = 0;
int main() {
  int n;
  scanf("%d", &n);
  int lst = 0, cnt, maxtimes = 1, ans = 0;
  bool mul = false;
  for (int i = 2; i <= n; ++i) {
    cnt = 0;
    while (n % i == 0) {
      n /= i;
      ++cnt;
    }
    if (!cnt) continue;
    s[++top] = i;
    if (cnt > maxtimes) maxtimes = cnt;
    if (lst) {
      if (cnt != lst)
        mul = true;
      else
        lst = cnt;
    } else {
      lst = cnt;
    }
  }
  ans = (int)ceil(log(maxtimes) / log(2));
  if (!mul) {
    while (maxtimes % 2 == 0) {
      maxtimes >>= 1;
    }
    if (maxtimes > 1) mul = true;
  }
  if (mul) ++ans;
  int sum = 1;
  for (int i = 1; i <= top; ++i) {
    sum *= s[i];
  }
  printf("%d %d", sum, ans);
  return 0;
}
