#include <bits/stdc++.h>
using namespace std;
int p[200005], w[200005], k, n, maxx, cnt;
long long ans = 1;
int pw[20], pt[200005];
int main() {
  pw[0] = 1, pt[1] = 0;
  for (int i = 1; i <= 17; i++) pw[i] = pw[i - 1] * 2, pt[pw[i]] = i;
  scanf("%d", &n);
  int tmp = n;
  for (int i = 2; i * i <= n; i++)
    if (n % i == 0) {
      p[++k] = i;
      ans *= i;
      while (n % i == 0) n /= i, w[k]++;
      maxx = max(w[k], maxx);
    }
  if (n != 1) p[++k] = n, w[k] = 1, ans *= n;
  printf("%I64d ", ans);
  if (ans == tmp) {
    puts("0");
    return 0;
  }
  if (pt[maxx] == 0) {
    for (int i = 1; i <= 17; i++)
      if (pw[i] >= maxx) {
        maxx = pw[i];
        break;
      }
  }
  cnt += pt[maxx];
  bool f = 0;
  for (int i = 1; i <= k; i++)
    if (maxx != w[i]) {
      f = 1;
      break;
    }
  if (f) cnt++;
  printf("%d\n", cnt);
  return 0;
}
