#include <bits/stdc++.h>
using namespace std;
void readInputData();
void run();
int main(int argc, char** argv) {
  ios_base::sync_with_stdio(false);
  readInputData();
  run();
  return 0;
}
long long n;
vector<long long> p;
bool isPrime(long long n) {
  if (n <= 1) return false;
  int N = (int)sqrt(n + .0);
  for (int i = 2; i <= N; ++i)
    if (n % i == 0) {
      return false;
    }
  return true;
}
void readInputData() { cin >> n; }
void run() {
  if (isPrime(n) || n == 1) {
    cout << 1 << endl;
    cout << 0 << endl;
    return;
  }
  long long N = (long long)sqrt(n + .0);
  long long i = 2;
  long long t = n;
  while (i <= N) {
    if (n % i == 0) {
      while (n % i == 0) {
        p.push_back(i);
        n /= i;
      }
      if (p.size() > 2) break;
    }
    i++;
  }
  if (n > 1) p.push_back(n);
  if (p.size() == 2) {
    cout << 2 << endl;
  } else {
    cout << 1 << endl;
    cout << p[0] * p[1] << endl;
  }
}
