import Data.Bits (xor, Bits) import Control.Applicative ((<$>)) xorFibonacci :: (Bits a, Integral a) => a -> a -> [a] xorFibonacci a1 a2 = seq a1 $ (:) a1 $ xorFibonacci a2 $ xor a1 a2 main :: IO () main = do (f0 : f1 : n : _) <- words <$> getLine let [f0', f1'] = map read [f0, f1] :: [Integer] let n' = read n :: Int print $ head $ drop n' $ xorFibonacci f0' f1'