import Data.Char primes = 2:3:[x | i<-[1..], j<-[-1,1], let x = 6*i+j, isPrime x] where isPrime n = null [i | i<-takeWhile (\x -> x^2 <= n) primes, mod n i == 0] main = do [k,n] <- map read . words <$> getContents let ps = dropWhile ( length hps2 = hps1 | length hps1 < length hps2 = hps2 | otherwise = max hps1 hps2