/*
Task: 1415C
Date: Dec 28, 2020
Author: frostbyte2103
*/
#include<bits/stdc++.h>
const int inf = 1e9;
using namespace std;
void Solve()
{
int n, p, k; cin >> n >> p >> k;
string s; cin >> s;
s = ' ' + s;
int x, y; cin >> x >> y;
vector<int> dp(n + 1, inf); dp[0] = 0;
for (int i=p; i<=n; i++)
{
dp[i] = min(dp[i], (i - p) * y + (s[i]=='1' ? 0 : x));
if (i>k) dp[i] = min(dp[i], dp[i - k] + (s[i]=='1' ? 0 : x));
}
int res = inf;
for (int i=n; i>=n-k+1; i--) res = min(res, dp[i]);
cout << res << '\n';
}
int main()
{
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//freopen("input.txt","r",stdin);
int nTest; cin >> nTest;
while (nTest--) Solve();
return 0;
}
LyoKVGFzazogMTQxNUMKRGF0ZTogRGVjIDI4LCAyMDIwCkF1dGhvcjogZnJvc3RieXRlMjEwMwoqLwoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KY29uc3QgaW50IGluZiA9IDFlOTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgU29sdmUoKQp7CiAgICBpbnQgbiwgcCwgazsgY2luID4+IG4gPj4gcCA+PiBrOwogICAgc3RyaW5nIHM7IGNpbiA+PiBzOwogICAgcyA9ICcgJyArIHM7CiAgICBpbnQgeCwgeTsgY2luID4+IHggPj4geTsKICAgIHZlY3RvcjxpbnQ+IGRwKG4gKyAxLCBpbmYpOyBkcFswXSA9IDA7CiAgICBmb3IgKGludCBpPXA7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBkcFtpXSA9IG1pbihkcFtpXSwgKGkgLSBwKSAqIHkgKyAoc1tpXT09JzEnID8gMCA6IHgpKTsKICAgICAgICBpZiAoaT5rKSBkcFtpXSA9IG1pbihkcFtpXSwgZHBbaSAtIGtdICsgKHNbaV09PScxJyA/IDAgOiB4KSk7CiAgICB9CiAgICBpbnQgcmVzID0gaW5mOwogICAgZm9yIChpbnQgaT1uOyBpPj1uLWsrMTsgaS0tKSByZXMgPSBtaW4ocmVzLCBkcFtpXSk7CiAgICBjb3V0IDw8IHJlcyA8PCAnXG4nOwp9CgppbnQgbWFpbigpCnsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAvL2ZyZW9wZW4oImlucHV0LnR4dCIsInIiLHN0ZGluKTsKICAgIGludCBuVGVzdDsgY2luID4+IG5UZXN0OwogICAgd2hpbGUgKG5UZXN0LS0pIFNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQ==