func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename Arg1>   void __f(const char* name, Arg1&& arg1) {     cerr << name <<   :   << arg1 <<   n ;   }   template <typename Arg1, typename... Args>   void __f(const char* names, Arg1&& arg1, Args&&... args) {     const char* comma = strchr(names + 1,  , );     cerr.write(names, comma - names) <<   :   << arg1 <<   |  ;     __f(comma + 1, args...);   }   int inf = 0x3f3f3f3f;   long long infl = 0x3f3f3f3f3f3f3f3fLL;   long double infd = 1.0 / 0.0;   const long long MOD = 1e9 + 7;   const double pi = 2 * acos(0.0);   long long modi(long long a, long long n) {     long long x = 1;     while (n) {       if (n & 1) x = (x * a) % MOD;       n >>= 1;       a = (a * a) % MOD;     }     return x;   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     ;     int tt = 1;     while (tt--) {       long long a, b, n, x;       cin >> a >> b >> n >> x;       long long as = (((a * x) % MOD) + b) % MOD;       long long le = (x * modi(a, n)) % MOD;       long long ri = a == 1ll ? ((b * (n % MOD)) % MOD)                               : ((b * (((((modi(a, n) - 1 + MOD) % MOD)) *                                         (modi(a - 1, MOD - 2))) %                                        MOD)) %                                  MOD);       cout << ((((le + ri) % (MOD)) + (MOD)) % (MOD)) <<   n ;     }     return 0;   }   