#include <bits/stdc++.h>
using namespace std;
const int maxint = -1u >> 1;
const double pi = 3.14159265358979323;
const double eps = 1e-8;
long long q;
vector<long long> cnt;
bool b[10000100];
vector<long long> p;
int main() {
  cin >> q;
  memset(b, true, sizeof(b));
  for (long long i = 2; i <= 10000000; i++)
    if (b[i]) {
      p.push_back(i);
      for (long long j = i + i; j <= 10000000; j += i) b[j] = false;
    }
  for (int i = (0); i < (p.size()); i++) {
    if (q % p[i] == 0) {
      while (q % p[i] == 0) {
        q /= p[i];
        cnt.push_back(p[i]);
      }
    }
  }
  if (q > 1) cnt.push_back(q);
  if (cnt.size() == 0 || cnt.size() > 2 || cnt.size() == 1) {
    cout << 1 << endl;
    if (cnt.size() == 1 || cnt.size() == 0)
      cout << 0 << endl;
    else
      cout << (1LL * cnt[0] * cnt[1]) << endl;
  } else
    cout << 2 << endl;
  return 0;
}
