#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using ll=long long; typedef pair P; const ll MOD=1e9+7; vector> matrixmul(int l, int m, int n, vector> a, vector> b){ vector> c(l, vector(n)); for(int i=0; i> matrixpow(int n, vector> a, ll k){ vector> ap=a, ans(n, vector(n)); for(int i=0; i>=1; } return ans; } int main() { ll a, b, n; cin>>a>>b>>n; vector> mat(2, vector(2)); mat[0][0]=a, mat[0][1]=b, mat[1][0]=1, mat[1][1]=a; auto matp=matrixpow(2, mat, n); cout<<2*matp[0][0]%MOD<