func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 1e9 + 9;   long long Pow(long long a, long long x) {     long long res = 1;     while (x) {       if (x & 1) res = res * a % mod;       a = a * a % mod;       x >>= 1;     }     return res;   }   long long inv(long long a) { return Pow(a, mod - 2); }   long long n, a, b, k;   string s;   int main() {     std::ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     cin >> n >> a >> b >> k;     cin >> s;     long long ans = 0;     for (int i = 0; i < k; ++i) {       int f = s[i] ==  -  ? -1 : 1;       ans = (ans + (f * Pow(a, n - i) * Pow(b, i) % mod + mod) % mod) % mod;     }     long long q = Pow(inv(a) * b % mod, k);     if (q == 1) {       long long res = (n + 1) / k;       ans = ans * res % mod;     } else {       long long res = Pow(q, (n + 1) / k);       res--;       if (res < 0) res += mod;       res = res * inv(q - 1) % mod;       ans = res * ans % mod;     }     cout << ans << endl;     return 0;   }   