open System open System.Collections.Generic let primeFactorization n = let factors = Dictionary() let mutable num = n while num % 2 = 0 do factors.[2] <- factors.TryGetValue(2) |> function (true, v) -> v + 1 | _ -> 1 num <- num / 2 let mutable divisor = 3 while num > 1 do while num % divisor = 0 do factors.[divisor] <- factors.TryGetValue(divisor) |> function (true, v) -> v + 1 | _ -> 1 num <- num / divisor divisor <- divisor + 2 factors [] let yuki2 args : int = let n = Console.ReadLine() |> int let factorsMap = primeFactorization n let mutable ret = 0 for KeyValue(_, v) in factorsMap do ret <- ret ^^^ v printfn "%s" (if ret = 0 then "Bob" else "Alice") 0