#include <bits/stdc++.h>
#define FOR(i, a, b) for (int i = a; i <= b; ++i)
#define FORD(i, a, b) for (int i = a; i >= b; --i)
#define ll long long
#define li pair <ll, int>
using namespace std;
const int N = 1e6 + 5;
int a[N], n;
int nxt[N], pre[N];
vector <li> adj[N];
vector <int> pos[26];
ll dist[N], A, B, C, D;
void nhap() {
cin >> n >> A >> B >> C >> D;
FOR(i, 1, n) {
char x; cin >> x;
a[i] = x - 'a';
pos[a[i]].push_back(i);
}
}
void dijkstra() {
FOR(i, 1, n) dist[i] = 9e18;
priority_queue <li, vector <li>, greater <li>> q;
q.push({0, 1});
dist[1] = 0;
while (!q.empty()) {
auto [d, u] = q.top();
q.pop();
if (d > dist[u]) continue;
for (auto [cost, v] : adj[u]) if (dist[v] > dist[u] + cost) {
dist[v] = dist[u] + cost;
q.push({dist[v], v});
}
}
}
void giai() {
FOR(i, 1, n) {
int idx = lower_bound(pos[a[i]].begin(), pos[a[i]].end(), i) - pos[a[i]].begin();
nxt[i] = (idx + 1 < (int) pos[a[i]].size() ? pos[a[i]][idx + 1] : -1);
pre[i] = (idx - 1 >= 0 ? pos[a[i]][idx - 1] : -1);
}
FOR(i, 1, n) {
if (i + 1 <= n) adj[i].push_back({A, i + 1});
if (i - 1 >= 1) adj[i].push_back({B, i - 1});
if (nxt[i] != -1) adj[i].push_back({C, nxt[i]});
if (pre[i] != -1) adj[i].push_back({D, pre[i]});
}
dijkstra();
cout << dist[n];
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#define name "test"
if (fopen(name".inp", "r")) {
freopen(name".inp", "r", stdin);
freopen(name".out", "w", stdout);
}
nhap();
giai();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IgKGludCBpID0gYTsgaSA8PSBiOyArK2kpCiNkZWZpbmUgRk9SRChpLCBhLCBiKSBmb3IgKGludCBpID0gYTsgaSA+PSBiOyAtLWkpCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGkgcGFpciA8bGwsIGludD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTiA9IDFlNiArIDU7CmludCBhW05dLCBuOwppbnQgbnh0W05dLCBwcmVbTl07CnZlY3RvciA8bGk+IGFkaltOXTsKdmVjdG9yIDxpbnQ+IHBvc1syNl07CmxsIGRpc3RbTl0sIEEsIEIsIEMsIEQ7Cgp2b2lkIG5oYXAoKSB7CiAgICBjaW4gPj4gbiA+PiBBID4+IEIgPj4gQyA+PiBEOwogICAgRk9SKGksIDEsIG4pIHsKICAgICAgICBjaGFyIHg7IGNpbiA+PiB4OwogICAgICAgIGFbaV0gPSB4IC0gJ2EnOwogICAgICAgIHBvc1thW2ldXS5wdXNoX2JhY2soaSk7CiAgICB9Cn0KCnZvaWQgZGlqa3N0cmEoKSB7CiAgICBGT1IoaSwgMSwgbikgZGlzdFtpXSA9IDllMTg7CiAgICBwcmlvcml0eV9xdWV1ZSA8bGksIHZlY3RvciA8bGk+LCBncmVhdGVyIDxsaT4+IHE7CiAgICBxLnB1c2goezAsIDF9KTsKICAgIGRpc3RbMV0gPSAwOwoKICAgIHdoaWxlICghcS5lbXB0eSgpKSB7CiAgICAgICAgYXV0byBbZCwgdV0gPSBxLnRvcCgpOwogICAgICAgIHEucG9wKCk7CgogICAgICAgIGlmIChkID4gZGlzdFt1XSkgY29udGludWU7CgogICAgICAgIGZvciAoYXV0byBbY29zdCwgdl0gOiBhZGpbdV0pIGlmIChkaXN0W3ZdID4gZGlzdFt1XSArIGNvc3QpIHsKICAgICAgICAgICAgZGlzdFt2XSA9IGRpc3RbdV0gKyBjb3N0OwogICAgICAgICAgICBxLnB1c2goe2Rpc3Rbdl0sIHZ9KTsKICAgICAgICB9CiAgICB9Cn0KCnZvaWQgZ2lhaSgpIHsKICAgIEZPUihpLCAxLCBuKSB7CiAgICAgICAgaW50IGlkeCA9IGxvd2VyX2JvdW5kKHBvc1thW2ldXS5iZWdpbigpLCBwb3NbYVtpXV0uZW5kKCksIGkpIC0gcG9zW2FbaV1dLmJlZ2luKCk7CiAgICAgICAgbnh0W2ldID0gKGlkeCArIDEgPCAoaW50KSBwb3NbYVtpXV0uc2l6ZSgpID8gcG9zW2FbaV1dW2lkeCArIDFdIDogLTEpOwogICAgICAgIHByZVtpXSA9IChpZHggLSAxID49IDAgPyBwb3NbYVtpXV1baWR4IC0gMV0gOiAtMSk7CiAgICB9CgogICAgRk9SKGksIDEsIG4pIHsKICAgICAgICBpZiAoaSArIDEgPD0gbikgYWRqW2ldLnB1c2hfYmFjayh7QSwgaSArIDF9KTsKICAgICAgICBpZiAoaSAtIDEgPj0gMSkgYWRqW2ldLnB1c2hfYmFjayh7QiwgaSAtIDF9KTsKICAgICAgICBpZiAobnh0W2ldICE9IC0xKSBhZGpbaV0ucHVzaF9iYWNrKHtDLCBueHRbaV19KTsKICAgICAgICBpZiAocHJlW2ldICE9IC0xKSBhZGpbaV0ucHVzaF9iYWNrKHtELCBwcmVbaV19KTsKICAgIH0KCiAgICBkaWprc3RyYSgpOwogICAgY291dCA8PCBkaXN0W25dOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICAjZGVmaW5lIG5hbWUgInRlc3QiCgogICAgaWYgKGZvcGVuKG5hbWUiLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKG5hbWUiLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4obmFtZSIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIG5oYXAoKTsKICAgIGdpYWkoKTsKCiAgICByZXR1cm4gMDsKfQo=