{-# LANGUAGE FlexibleContexts, OverloadedStrings #-} import Control.Applicative import Control.Monad import qualified Data.ByteString.Char8 as B import Data.Maybe (fromJust) import Text.Printf import Debug.Trace count xs a = length $ filter (==a) xs main = do [n] <- getInts xs <- map (map (`mod` 2)) <$> replicateM n getInts let win = (count xs [0,0] `div` 2) + (count xs [0,1] `div` 2) + (count xs [1,0] `div` 2) + (count xs [1,1] `div` 2) putStrLn $ if win `mod` 2 == 0 then "Bob" else "Alice" -- util getInts :: IO [Int] getInts = map (fst . fromJust . B.readInt) . B.words <$> B.getLine substr :: Int -> Int -> B.ByteString -> B.ByteString substr b l s = B.take l $ B.drop b s