#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
const long long MOD = 1000000007LL;
long long n;
vector<pair<long long, int> > v;
void gao(long long n) {
  for (long long i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      int cnt = 0;
      while (n % i == 0) {
        n /= i;
        cnt++;
      }
      v.push_back(make_pair(i, cnt));
    }
  }
  if (n > 1) v.push_back(make_pair(n, 1));
}
int main() {
  cin >> n;
  gao(n);
  if (v.size() == 0 || (v.size() == 1 && v[0].second == 1))
    puts("1\n0");
  else if (v.size() == 1 && v[0].second == 2)
    puts("2");
  else {
    if (v.size() == 1) {
      cout << 1 << "\n" << v[0].first * v[0].first << endl;
    } else if (v.size() == 2) {
      if (v[0].second + v[1].second == 2)
        puts("2");
      else
        cout << 1 << "\n" << v[0].first * v[1].first << endl;
    } else {
      cout << 1 << endl;
      cout << v[0].first * v[1].first << endl;
    }
  }
  return 0;
}
