8587340257
 9
 81
 27
 1408514752349
 25
 49380563
 266418
 319757451841
 6599669076000
 8
 1000000000000
 30971726
 274875809788
 64
 34280152201
 236
 472670214391
 7938986881993
 44
 4
 388
 2
 802241960524
 3047527844089
 5
 12
 614125
 1716443237161
 48855707
 99
 9999925100701
 5839252225
 3
 50
 1307514188557
 9999926826034
 1468526771489
 2975
 8110708459517
 401120980262
 5138168457911
 1245373417369
 128
 16
 2000000014
 445538663413
 57461344602
 324
 7420738134810

1
9409 2 1
9 1
9 1
72361 2 1
289 1
6 1
289 1
4 1
4 1
4 2 1
4 1
4 2 1
4 1
23020027 1
378028993 1
4 2 1
4 1
0 1
4 2 1
0 1
4 1
25 1
5329 1
2603 1
9 1
0 1
25 1
0 1
10 1
39283 2 1
613783 1
25 2 2 2 1
908209 1
4 1
4 2 1
0 1
6 1
4 1
6
import java.io.*;
import java.util.*;


  public class Solution {

      static List<Long>primess = new ArrayList<>();
      public static void main(String[] args) {
          Scanner sc = new Scanner(System.in);
          long x = sc.nextLong();
          seive((int)(Math.sqrt(x)+1));
          int cnt = 0;
          int div = 1;
          for(int pos = 0 ; primess.get(pos) * primess.get(pos) <= x ; pos++){

              while (x % primess.get(pos) == 0){
                  cnt++;
                  div*= primess.get(pos);
                  x /= primess.get(pos);
                  if(cnt > 2) {
                      System.out.println(1);
                      System.out.println(div/primess.get(pos));
                      return;
                  }
              }
          }

          if(x > 1){
              cnt++;
              div*= x;
              if(cnt > 2) {
                  System.out.println(1);
                  System.out.println(div/x);
                  return;
              }
          }

          if(cnt == 2 || cnt == 1)
              System.out.println(2);
          else{
              System.out.println(1);
              System.out.println(0);
          }
      }



      public static void seive(int n){
          boolean[] s = new boolean[n+1];
          s[0] = true;
          s[1] = true;
          for(int i=2 ; i*i <= n ; i++){
              if(!s[i]){
                  for (int j = i*i ; j<=n ; j+=i){
                      s[j] = true;
                  }
              }
          }
          for(int i=2 ; i<=n ; i++){
              if(!s[i]){
                  primess.add((long)i);
              }
          }
      }

  }


