#include #include #include static std::uint64_t xorFibonacci(std::uint64_t n, std::uint64_t f0, std::uint64_t f1); int main() { std::cin.tie(0); std::ios::sync_with_stdio(false); std::uint64_t f0, f1, n; std::cin >> f0 >> f1 >> n; std::cout << xorFibonacci(n, f0, f1) << std::endl; return EXIT_SUCCESS; } static std::uint64_t xorFibonacci(std::uint64_t n, std::uint64_t f0, std::uint64_t f1) { switch (n) { case 0: return f0; case 1: return f1; default: { for (std::uint64_t i = 1; i < n; i++) { std::uint64_t f = f1 ^ f0; f0 = f1; f1 = f; } return f1; } } }