func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, k;   long long a, b, sum, ans, summ;   char s[100010];   long long powe(long long x, int r) {     long long ret = 1;     while (r) {       if (r & 1) ret = (ret * x) % 1000000009;       x = x * x % 1000000009;       r >>= 1;     }     return ret;   }   int main() {     scanf( %d%lld%lld%d , &n, &a, &b, &k);     scanf( %s , s);     long long p = b * powe(a, 1000000009 - 2) % 1000000009, d = powe(a, n);     for (int i = 0; i < k; ++i) {       if ((n + 1) % k == i) summ = sum;       if (s[i] ==  + )         sum = (sum + d) % 1000000009;       else         sum = (sum - d + 1000000009) % 1000000009;       d = (d * p) % 1000000009;     }     p = powe(p, k);     int bt = (n + 1) / k;     if (p == 1)       ans = sum * bt;     else       ans = sum * ((powe(p, bt) - 1 + 1000000009) % 1000000009) % 1000000009 *             powe((p - 1 + 1000000009) % 1000000009, 1000000009 - 2) % 1000000009;     summ = summ * powe(p, bt) % 1000000009;     ans = ((ans + summ) % 1000000009 + 1000000009) % 1000000009;     printf( %lld , ans);     return 0;   }   