func_code_string: #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;   }   