#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 9;
long long fast_mod(long long a, long long n) {
  long long ans = 1;
  while (n) {
    if (n & 1) ans = ans * a % mod;
    n >>= 1;
    a = a * a % mod;
  }
  return ans % mod;
}
int main() {
  long long n, a, b, k;
  char s[100005];
  scanf("%lld%lld%lld%lld", &n, &a, &b, &k);
  long long sum = 0;
  for (int i = 0; i < k; i++) {
    cin >> s[i];
    if (s[i] == '+')
      sum = (sum % mod + fast_mod(a, n - i) * fast_mod(b, i) % mod) % mod;
    else
      sum = (sum % mod - fast_mod(a, n - i) * fast_mod(b, i) % mod) % mod;
  }
  sum = (sum + mod) % mod;
  if (k == n + 1) return cout << sum, 0;
  long long q = fast_mod(b, k) * fast_mod(fast_mod(a, k), mod - 2) % mod;
  if (q == 1) return cout << (n + 1) / k * sum % mod, 0;
  long long A = fast_mod(q - 1, mod - 2);
  long long B = fast_mod(q, (n + 1) / k) - 1;
  long long ans = sum * A % mod * B % mod;
  cout << (ans + mod) % mod, 0;
}
