#include <bits/stdc++.h>
using namespace std;
const int P = 1e9 + 7;
void mul(int A[2][2], int B[2][2]) {
  int r[2][2];
  r[0][0] = ((A[0][0] * 1LL * B[0][0] + A[0][1] * 1LL * B[1][0]) % P);
  r[0][1] = ((A[0][0] * 1LL * B[0][1] + A[0][1] * 1LL * B[1][1]) % P);
  r[1][0] = ((A[1][0] * 1LL * B[0][0] + A[1][1] * 1LL * B[1][0]) % P);
  r[1][1] = ((A[1][0] * 1LL * B[0][1] + A[1][1] * 1LL * B[1][1]) % P);
  A[0][0] = r[0][0];
  A[0][1] = r[0][1];
  A[1][0] = r[1][0];
  A[1][1] = r[1][1];
}
void matexp(int A[2][2], int B[2][2], int n) {
  while (n) {
    if (n & 1) mul(A, B);
    mul(B, B);
    n = n >> 1;
  }
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  int x, y, n;
  cin >> x >> y >> n;
  int A[2][2] = {{1, -1}, {1, 0}};
  int ans[2][2] = {{1, 0}, {0, 1}};
  matexp(ans, A, n - 1);
  int v = ((ans[1][0] * 1LL * y + ans[1][1] * 1LL * x) % P + P) % P;
  cout << v;
  return 0;
}
