import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; import java.util.TreeSet; //TIP To Run code, press or // click the icon in the gutter. public class Main { static int[] dp; static ArrayList abeceda = new ArrayList<>(); public static void main(String[] args) { //TIP Press with your caret at the highlighted text // to see how IntelliJ IDEA suggests fixing it. // abeceda.add({"A", "B", "C"}); // Scanner sc = new Scanner(System.in); // int n = sc.nextInt(); // int c = sc.nextInt(); // long sum = 0; // long min = Integer.MAX_VALUE; // for (int i = 0; i < n; i++) { // for (int j = 0; j < c; j++) { // int l = sc.nextInt(); // sum += l; // if (min > l && !((i + j) % 2 == 0)) { // min = l; // } // } // } // if (n % 2 == 0 && c % 2 == 0) { // sum -= min; // } // System.out.println(sum ); // String string = sc.next(); string = removeZeros(string); System.out.println(eating(string, 0)); } static int eating(String current, int count) { if (current.isEmpty()) { return count; } if (!isPrimeNumber(Long.parseLong(current))) { return count; } count++; int max = 0; for (int i = 0; i < current.length(); i++) { String start = current.substring(0, i); String end = current.substring(i + 1); String temp = start + end; temp = removeZeros(temp); int countOut = eating(temp, count); if (countOut > max) { max = countOut; } } return max; } static boolean isPrimeNumber(long n) { if (n == 1) { return false;} // if (n == 2 || n == 3 || n == 5) { // return true; // } // if (n % 2 == 0 || n % 3 == 0) { // return false; // } for (int i = 2; i * i <= n; i++) { // if (n % (i + 1) == 0 || n % (i -1) == 0) { // return false; // } if (n % i == 0) { return false; } } return true; } static String removeZeros(String s){ if (s.isEmpty()) { return ""; } if (s.equals("0")) return ""; while(s.charAt(0) == '0'){ s = s.substring(1); } return s; } // static TreeSet kombinacie = new TreeSet<>(); // public static void uuuu(ArrayList posibilieties, String current) // { // if (posibilieties.length == 0 && !kombinacie.contains(current)) { // kombinacie.add(current); // return; // } // for (int i = 0; i < posibilieties.length; i++) { // String ss = posibilieties[i] + ""; // var tempcurrent = current + ss; // var posibilietiesTemp = posibilieties.substring(0, i) + posibilieties.substring(i + 1); // uuuu(posibilietiesTemp, current); // } // } // public static int findThoughtput(int i) // { // int [] array = dp; // int max = Math.min(array[0], array[1]) + Math.min(array[3], array[4]); // int abrez = Math.max(0, array[1] - array[0]); // int derez = Math.max(0, array[4] - array[3]); // int abvolne = Math.max(0, array[0] - array[1]); // int devolne = Math.max(0, array[3] - array[4]); // // max += Math.max(Math.min(Math.min(abrez, devolne), array[2]), Math.min(Math.min(derez, abvolne), array[2])); // // return max; // } }