using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.IO; using static System.Console; using static System.Math; public class Solve{ static public int mod = 1000000007; static public string al = "abcdefghijklmnopqrstuvwxyz"; public static void Main(){ // 方針 // var k = rint(); var n = rint(); var list = new List(); if(k <= 2) list.Add(2); for(int i=Max(k,3);i<=n;i++){ if(i%2 == 0) continue; var checker = true; for(int j=3;j*j<=i;j+=2){ if(i%j == 0){ checker = false; break; } } if(checker) list.Add(i); } var hash = new int[list.Count]; for(int i=0;i 0){ hash[i] += temp%10; temp /= 10; hash[i] = hash[i]%10 + hash[i]/10; } } var l = 0; var ans = 0; var count = 0; var dic = new Dictionary(); for(int r=0;r= count){ count = dic.Count; ans = list[l]; } dic.Remove(hash[l]); l++; r--; } } if(dic.Count >= count){ ans = list[++l]; } WriteLine(ans); } public static void swap(ref int a,ref int b){int temp = a;a= b;b = temp;} static void charswap(ref char a,ref char b){char temp = a;a= b;b = temp;} static int ncr(int n,int r){if(n=0;i--){if(binary[i] == '1'){value = value*a_power%mod;}a_power = a_power*a_power%mod;}return (int)value;} static int square2(int a,int b){long output = 1;var list = new List();int sh = 1;long n = a;list.Add(a);while(sh < b){sh *= 2;n = n*n%mod;list.Add(n);}for(int i=list.Count-1;i>=0;i--){if(b > sh){b -= sh;sh /= 2;output = output*list[i]%mod;}}return (int)output;} //各種読取 static string rstr(){ return ReadLine(); } static int rint(){ return int.Parse(ReadLine()); } static long rlong(){ return long.Parse(ReadLine()); } static string[] stra(){ return ReadLine().Split(' '); } static char[] chara(){ string[] a=stra();string b="";for(int i=0;i