#include <bits/stdc++.h>
#define pi acos(-1)
#define fastcin ios::base_sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
typedef long long LL;
typedef pair<int,int> Pii;
const int INF = 0x3f3f3f3f;
const int maxn = 1e5+10;
const int mod = 1e9 + 9;
void exgcd(LL a, LL b, LL &x, LL &y)
{
if(!b) x = 1, y = 0;
else
{
exgcd(b, a % b, y, x);
y -= x * (a / b);
}
}
LL inv(LL a, LL b)
{
LL x, y;
exgcd(a, b, x, y);
return (x + b) % b;
}
LL fpow(LL a, LL n, LL p)
{
LL ans = 1;
while(n)
{
if(n & 1) ans = ans * a % p;
a = a * a % p;
n >>= 1;
}
return ans;
}
int main()
{
LL n, a, b, k;
string s;
scanf("%I64d%I64d%I64d%I64d", &n, &a, &b, &k);
cin >> s;
LL INVa = inv(a, mod);
LL q = fpow(INVa*b%mod, k, mod);
LL tmp=0;
if(q==1) tmp = (n+1)/k;
else {
tmp = ( tmp+ (fpow(q, (n+1)/k, mod)-1) * inv(q-1, mod) )%mod;
}
LL ans=0;
for(int i=0; i<k; i++){
LL sign = (s[i]=='+'?1:-1);
ans = ( ans + fpow(a, n-i, mod)*fpow(b, i, mod)%mod*tmp%mod*sign )%mod;
}
printf("%I64d\n", (ans+mod)%mod);
}