let solve n = let inline primeFactor n = let zero = LanguagePrimitives.GenericZero let one = LanguagePrimitives.GenericOne let two = one + one let rec f num divisor acc = if divisor = num then divisor :: acc elif num % divisor = zero then f (num / divisor) divisor (divisor :: acc) else f num (divisor + one) acc f n two [] [(max (n-100) 4) .. n+100] |> List.find (fun x -> (primeFactor x |> List.length) > 1) let N = stdin.ReadLine() |> int solve N |> stdout.WriteLine