#nowarn "40" let ``No.7 プライムナンバーゲーム`` () = let rec primes = Seq.cache <| seq { yield 2; yield! Seq.unfold nextPrime 3 } and nextPrime n = if isPrime n then Some(n, n + 2) else nextPrime(n + 2) and isPrime n = if n >= 2 then primes |> Seq.tryFind (fun x -> n % x = 0 || x * x > n) |> fun x -> x.Value * x.Value > n else false let N = int <| stdin.ReadLine() // 素数による分割数 let p n = primes |> Seq.item n let rec pd m = let dp = Array.init (m+1) (fun _ -> 0) dp.[0] <- 1 for a in 0..m do for b in (p a)..m do dp.[b] <- dp.[b] + dp.[b - p a] dp.[m] printfn "%s" ["Win";"Lose";].[(pd N) &&& 1] ``No.7 プライムナンバーゲーム`` ()