// http://yukicoder.me/problems/25 open System let dprintfn fmt = Printf.kprintf Diagnostics.Debug.WriteLine fmt let primes n = let mid = float n |> sqrt |> floor |> int let table = Array.init (n+1) (fun _ -> true) seq { for i in 2 .. mid do if table.[i] then yield i for j in (i+i) .. i .. n do table.[j] <- false for i in (mid+1) .. n do if table.[i] then yield i } [] let main argv = let N = Console.ReadLine().Trim() |> int let P = primes N |> List.ofSeq let memo = Array.init (N+1) (fun _ -> None) let rec solve n = if n < 2 then true else match memo.[n] with | Some ans -> ans | None -> P |> List.tryFind (fun p -> if p <= n then not (solve (n-p)) else false) |> function | None -> memo.[n] <- Some false; false | Some ans -> memo.[n] <- Some true; true match solve N with | true -> "Win" | _ -> "Lose" |> printfn "%s" 0