#include <bits/stdc++.h>
using namespace std;
long long n, A, B, k, licznik, mianownik, q, ans, val, tab[200010],
    mod = 1e9 + 9;
char znak;
long long sp(long long p, long long w) {
  if (w == 0) return 1;
  if (w % 2) {
    return (sp(p, w - 1) * p) % mod;
  }
  long long f = sp(p, w / 2);
  return (f * f) % mod;
}
long long sum(long long len, long long ilo) {
  if (len == 0)
    return 1;
  else {
    if (len % 2 == 0) {
      return (sum(len - 1, ilo) + sp(q, len) + mod) % mod;
    } else {
      int mid = len / 2;
      long long f = sum(len / 2, ilo);
      return (f + f * sp(q, mid + 1) + mod) % mod;
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> A >> B >> k;
  for (int a = 1; a <= k; a++) {
    cin >> znak;
    if (znak == '+') {
      tab[a - 1] = 1;
    } else
      tab[a - 1] = -1;
  }
  long long va = 1;
  for (int a = 0; a < k; a++) {
    va = sp(A, n - a) * tab[a];
    va *= sp(B, a);
    va %= mod;
    val += va;
    val %= mod;
    va = 1;
  }
  licznik = sp(B, k);
  mianownik = sp(A, k);
  mianownik = sp(mianownik, mod - 2);
  q = licznik * mianownik;
  q %= mod;
  int d = (n + 1) / k;
  ans = val;
  ans *= sum(d - 1, q);
  ans %= mod;
  ans += mod;
  ans %= mod;
  cout << ans << endl;
  return 0;
}
