#include <bits/stdc++.h>
using namespace std;
int a[110];
int main() {
  a[0] = 1;
  for (int i = 1; i < 25; i++) {
    a[i] = a[i - 1] * 2;
  }
  int n, i = 2, maxn = 0, num = 1;
  cin >> n;
  bool check = 0;
  while (n != 1) {
    if (n % i != 0) {
      i++;
    } else {
      int t = 0;
      num *= i;
      while (n % i == 0) {
        n /= i;
        t++;
      }
      if (t >= maxn) {
        if (maxn != 0 and maxn != t) {
          check = 1;
        }
        maxn = t;
      } else {
        check = 1;
      }
    }
  }
  if (maxn > 1) {
    int s = lower_bound(a, a + 25, maxn) - a;
    if (maxn == a[s] and check == 0) {
      cout << num << ' ' << s;
    } else {
      cout << num << ' ' << s + 1;
    }
  } else {
    cout << num << ' ' << 0;
  }
}
