#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, nn;
  cin >> nn;
  n = nn;
  for (int i = 2; i <= 1005; i++) {
    while (n % (i * i) == 0) n /= i;
  }
  cout << n << " ";
  n = nn;
  for (int i = 2; i <= 10005; i++)
    while (n % i == 0) n /= i;
  bool BIG_G = (n == 1) ? 0 : 1;
  n = nn;
  int max_deg = -1;
  bool MALENKIE_NADO_UMNOZHATJ = false;
  for (int i = 2; i <= 1005; i++) {
    if (n % i != 0) continue;
    int deg = 0;
    while (n % i == 0) {
      n /= i;
      deg++;
    }
    if (deg != max_deg && max_deg != -1) MALENKIE_NADO_UMNOZHATJ = 1;
    max_deg = max(deg, max_deg);
  }
  if (max_deg == -1) {
    cout << 0;
    return 0;
  }
  int SKOLKO_NADO_BRATJ_KORENJ_ZLA = 0;
  int NADO_UMNOZHATJ = 0;
  NADO_UMNOZHATJ |= ((max_deg & (max_deg - 1)) != 0);
  NADO_UMNOZHATJ |= MALENKIE_NADO_UMNOZHATJ;
  while ((max_deg & (max_deg - 1)) != 0) max_deg++;
  NADO_UMNOZHATJ |= (BIG_G && max_deg > 1);
  while (max_deg > 1) {
    SKOLKO_NADO_BRATJ_KORENJ_ZLA++;
    max_deg >>= 1;
  }
  cout << SKOLKO_NADO_BRATJ_KORENJ_ZLA + NADO_UMNOZHATJ;
  return 0;
}
