#include <bits/stdc++.h>
using namespace std;
long long n, a, b, k, inv;
long long aa[200005], bb[200005];
const long long mod = 1e9 + 9;
long long powmod(long long n, long long k) {
  long long ret = 1;
  while (k) {
    if (k & 1) ret = ret * n % mod;
    n = n * n % mod;
    k >>= 1;
  }
  return ret;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  while (cin >> n >> a >> b >> k) {
    aa[0] = powmod(a, n);
    bb[0] = 1;
    inv = powmod(a, mod - 2);
    for (int i = 1; i < k; i++) {
      aa[i] = aa[i - 1] * inv % mod;
      bb[i] = bb[i - 1] * b % mod;
    }
    long long ans = 0;
    for (int i = 0; i < k; i++) {
      char c;
      cin >> c;
      if (c == '+') {
        ans = (ans + aa[i] * bb[i]) % mod;
      } else {
        ans = (ans - (aa[i] * bb[i] % mod) + mod) % mod;
      }
    }
    long long mul = powmod(inv, k) * powmod(b, k) % mod;
    long long t = (n + 1) / k;
    long long sum;
    if (mul == 1) {
      sum = ans * t % mod;
    } else {
      sum = ans * powmod((mul - 1 + mod) % mod, mod - 2) % mod *
            ((powmod(mul, t) - 1 + mod) % mod) % mod;
    }
    cout << sum << endl;
  }
}
