28237
 13190
 39914
 81367
 8554
 61106
 67448
 39004
 22308
 16054
 71468
 60501
 100
 300
 59632
 90783
 5611
 1000
 69475
 69753
 10
 5
 582
 8
 36961
 5071
 20
 53213
 92775
 28738
 100000
 92280
 37944
 9
 2627
 7
 3

1028306548 224346172 2054738392 8539207488 94344524 4816051228 5867563092 1962150044 641839188 332342852 6587875268 4721174212 12600 115440 4586497300 10630118936 40580456 1286328 6225539588 6275533596 92 8 434692 52 1762017168 33141852 440 3652070664 11101694484 1065137992 12898363344 10983871880 1856988304 64 8885348 28 0
#include <bits/stdc++.h>
using namespace std;
int main() {
  double n, new_num;
  int p = 1;
  cin >> n;
  new_num = n;
  int s = 0;
  vector<int> factors;
  while (true) {
    double x = sqrt(new_num);
    if (x != int(x)) {
      break;
    }
    new_num = x;
    s += 1;
  }
  int m = 0;
  int new_num1 = int(new_num);
  for (int i = 2; i <= n; i += 1) {
    if (new_num1 % i == 0) {
      p *= i;
      int f = 0;
      while (new_num1 % i == 0) {
        new_num1 /= i;
        f += 1;
      }
      factors.push_back(f);
      m = max(m, f);
    }
  }
  if (m > 1) {
    s += 1;
    int x = 0;
    while (m > 0) {
      if (m % 2 == 1 && m != 1) {
        x = 1;
      }
      m /= 2;
      s += 1;
    }
    if (x == 0) {
      s -= 1;
    }
  }
  cout << p << " " << s << endl;
  return 0;
}
