#include using namespace std; // 基本テンプレート #define P(x) cout << (x) << endl #define p(x) cout << (x) #define ALL(c) (c).begin(), (c).end() #define RALL(c) (c).rbegin(), (c).rend() #define MAT(type, c, m, n) vector> c(m, vector(n));for(auto& r:c)for(auto& i:r)cin>>i; #define REP(i,a,n) for(int i=(a), i##_len=(n); in; --i) #define perm(c) sort(all(c));for(bool c##p=1;c##p;c##p=next_permutation(all(c))) #define PB push_back #define EM emplace #define EB emplace_back #define BI back_inserter #define MP make_pair #define cauto const auto& #define UNIQUE(v) v.erase( unique(ALL(v)), v.end() ); #define len(x) ((int)(x).size()) // 型 typedef long long ll; typedef pair pii; typedef pair pss; typedef pair psi; typedef pair pis; typedef vector vi; typedef vector vd; typedef vector vl; typedef vector vll; typedef vector vs; // Effective std template void remove(vector& c, unsigned int index) { c.erase(c.begin()+index); } template inline bool chmin(T &a, const T &b){if (b < a) {a = b; return true;} return false; } template inline bool chmax(T &a, const T &b){if (a < b) {a = b; return true;} return false; } inline void split(const string &s, char c, vector& v) {stringstream ss(s);string bf; while(getline(ss, bf, c)) v.push_back(stoi(bf));} inline void split(const string &s, char c, vector& v) {stringstream ss(s);string bf; while(getline(ss, bf, c)) v.push_back(bf);} // 定数 #define MOD 1e9+7 #define PI acos(-1.0) constexpr int EPS = (1e-9); constexpr int INF = 100000000; int main(){ cin.tie(0); ios::sync_with_stdio(0); cout << fixed << setprecision(15); ll f0, f1, n; cin >> f0 >> f1 >> n; if (n % 3 == 0) P(f0); else if (n % 3 == 1) P(f1); else P(f0 ^ f1); return 0; }