#include <bits/stdc++.h>
using namespace std;
int book[1000010], p[1000010], cnt = 0, val[1000010], tmp = 1;
int main() {
  int i, j, n, m, MAX = 0, flag = 0;
  scanf("%d", &n);
  m = n;
  for (i = 2; i <= n; i++) {
    if (!book[i]) p[++cnt] = i;
    for (j = 2 * i; j <= n; j += i) {
      book[j] = 1;
    }
  }
  for (i = 1; i <= cnt; i++) {
    if (p[i] > m) break;
    if (!(m % p[i])) {
      tmp *= p[i];
      while (!(m % p[i])) {
        m /= p[i];
        val[i]++;
      }
    }
  }
  for (i = 1; i <= cnt; i++) {
    if (val[i] && MAX && MAX != val[i]) flag = 1;
    MAX = max(MAX, val[i]);
  }
  int M = MAX;
  while (M > 1) {
    if (M & 1) {
      flag = 1;
      break;
    }
    M >>= 1;
  }
  printf("%d ", tmp);
  int base = 1, num = 0;
  if (flag) num++;
  while (base < MAX) {
    base <<= 1;
    num++;
  }
  printf("%d", num);
  return 0;
}
