main :: IO () main = do n <- readLn putStrLn $ if n `elem` loseList then "Lose" else "Win" loseList :: [Int] loseList = looser $ [2..10000] where looser [] = [] looser (l:ls) = (l:) . looser . difference ls $ map (l+) primeList difference aas [] = aas difference [] _ = [] difference aas@(a:as) bbs@(b:bs) | b > 10000 = aas | a < b = a : difference as bbs | a > b = difference aas bs | otherwise = difference as bs primeList :: [Int] primeList = sieve [2..] where sieve (p:xs) = p : sieve [x | x <- xs, x `mod` p /= 0]