#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
const long long lnf = 1e18;
const long long mod = 1e9 + 9;
const int Maxn = 123456;
long long n, a, b, k, ans;
string s;
long long fast_pow(long long x, long long k) {
  long long ans = 1;
  while (k) {
    if (k & 1) {
      ans *= x;
      ans %= mod;
    }
    x *= x;
    x %= mod;
    k >>= 1;
  }
  return ans;
}
int main() {
  cin >> n >> a >> b >> k >> s;
  b = b * fast_pow(a, mod - 2) % mod;
  for (int i = k - 1; i >= 0; i--) {
    long long sign = (s[i] == '+' ? 1 : mod - 1);
    ans = (ans * b + sign) % mod;
  }
  b = fast_pow(b, k);
  n = (n + 1) / k;
  if (b == 1) {
    ans *= n;
    ans %= mod;
  } else
    ans = ans * (fast_pow(b, n) - 1) % mod * fast_pow(b - 1, mod - 2) % mod;
  ans *= fast_pow(a, n * k - 1);
  ans %= mod;
  if (ans < 0) ans += mod;
  cout << ans << endl;
  return 0;
}
