#include "bits/stdc++.h" #define MOD 1000000007 #define rep(i, n) for(ll i=0; i < (n); i++) #define rrep(i, n) for(ll i=(n)-1; i >=0; i--) #define ALL(v) v.begin(),v.end() #define rALL(v) v.rbegin(),v.rend() #define FOR(i, j, k) for(ll i=j;i llvec; typedef vector dvec; typedef pair P; typedef long double ld; struct edge{ll x, c;}; using mat = vector; /************************************** ** A main function starts from here ** ***************************************/ int main(){ ll a, b, n; cin >> a >> b >> n; mat e = {{1, 0}, {0, 1}}; mat A = {{a, b}, {1, 0}}; auto prod =[](mat a, mat b){ mat ans(2, llvec(2, 0)); rep(i, 2)rep(j, 2)rep(k, 2){ ans[i][j] += a[i][k]*b[k][j]; ans[i][j] %=MOD; } return ans; }; if(n==1){ cout << 1 << endl; return 0; }else if(n==0){ cout << 0 << endl; return 0; } n-=1; while(n>0){ if(n%2==1){ e = prod(A, e); } A = prod(A, A); n/=2; } cout << (e[0][0])%MOD<