// http://yukicoder.me/problems/18 open System let dprintfn fmt = Printf.kprintf Diagnostics.Debug.WriteLine fmt module Prime = let decomposit n = let ans = ref [] let a = ref 2 let tmp = ref n while !tmp >= !a do if !tmp % !a = 0 then ans := !a :: !ans tmp := !tmp / !a else incr a if !tmp = 1 then !ans else !tmp :: !ans let solve N = Prime.decomposit N // |> fun a -> dprintfn "%A" a; a |> Seq.fold (fun s t -> match Map.tryFind t s with | Some v -> Map.add t (v+1) s | _ -> Map.add t 1 s ) Map.empty // |> fun a -> dprintfn "%A" a; a |> Map.fold (fun s _ v -> v ^^^ s) 0 |> fun m -> if m <> 0 then "Alice" else "Bob" [] let main argv = let N = Console.ReadLine() |> int solve N |> printfn "%s" 0