func_code_string: #include <bits/stdc++.h>   using namespace std;   long long a, b, x, n;   void input() {     cin >> a >> b >> n >> x;     return;   }   long long powmod(long long a, long long b) {     if (b == 1) return a;     if (b < 1) return 1;     long long t = powmod(a, b / 2) % 1000000007;     t = (t * t) % 1000000007;     if (b % 2 == 1) {       t = (t * a) % 1000000007;     }     return t;   }   void solve() {     if (a == 1) {       cout << (b * (n % 1000000007) + x) % 1000000007;       return;     }     long long tmp = powmod(a, n);     long long ans = ((tmp - 1) * powmod(a - 1, 1000000007 - 2)) % 1000000007;     tmp = (tmp * x) % 1000000007;     ans = (ans * b) % 1000000007;     cout << (tmp + ans) % 1000000007;     return;   }   void output() { return; }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     {       input();       solve();       output();     }     return 0;   }   