#include <bits/stdc++.h>
#define ll long long
using namespace std;
void solve() {
int n; cin >> n;
vector <vector<int>> a(n + 5, vector <int> (2));
vector <vector<string>> s(n + 5, vector <string> (2));
for (int i = 1; i <= n; ++i) cin >> a[i][1];
for (int i = 1; i <= n; ++i) {
cin >> s[i][0];
s[i][1] = s[i][0];
reverse(s[i][1].begin(), s[i][1].end());
}
vector <vector<ll>> dp(n + 5, vector<ll> (2, 9e18));
dp[1][0] = 0;
dp[1][1] = a[1][1];
for (int i = 2; i <= n; ++i) {
for (int j = 0; j <= 1; ++j) {
for (int k = 0; k <= 1; ++k) {
if (s[i - 1][j] <= s[i][k]) {
dp[i][k] = min(dp[i][k], dp[i - 1][j] + a[i][k]);
}
}
}
}
ll ans = min(dp[n][0], dp[n][1]);
cout << (ans == 9e18 ? -1 : ans);
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen("reverse.inp", "r")) {
freopen("reverse.inp", "r", stdin);
freopen("reverse.out", "w", stdout);
}
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsgY2luID4+IG47CiAgICB2ZWN0b3IgPHZlY3RvcjxpbnQ+PiBhKG4gKyA1LCB2ZWN0b3IgPGludD4gKDIpKTsKICAgIHZlY3RvciA8dmVjdG9yPHN0cmluZz4+IHMobiArIDUsIHZlY3RvciA8c3RyaW5nPiAoMikpOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSBjaW4gPj4gYVtpXVsxXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGNpbiA+PiBzW2ldWzBdOwogICAgICAgIHNbaV1bMV0gPSBzW2ldWzBdOwogICAgICAgIHJldmVyc2Uoc1tpXVsxXS5iZWdpbigpLCBzW2ldWzFdLmVuZCgpKTsKICAgIH0KICAgIAogICAgdmVjdG9yIDx2ZWN0b3I8bGw+PiBkcChuICsgNSwgdmVjdG9yPGxsPiAoMiwgOWUxOCkpOwogICAgCiAgICBkcFsxXVswXSA9IDA7CiAgICBkcFsxXVsxXSA9IGFbMV1bMV07CiAgICBmb3IgKGludCBpID0gMjsgaSA8PSBuOyArK2kpIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8PSAxOyArK2opIHsKICAgICAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPD0gMTsgKytrKSB7CiAgICAgICAgICAgICAgICBpZiAoc1tpIC0gMV1bal0gPD0gc1tpXVtrXSkgewogICAgICAgICAgICAgICAgICAgIGRwW2ldW2tdID0gbWluKGRwW2ldW2tdLCBkcFtpIC0gMV1bal0gKyBhW2ldW2tdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgbGwgYW5zID0gbWluKGRwW25dWzBdLCBkcFtuXVsxXSk7CiAgICAKICAgIGNvdXQgPDwgKGFucyA9PSA5ZTE4ID8gLTEgOiBhbnMpOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIAogICAgaWYgKGZvcGVuKCJyZXZlcnNlLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKCJyZXZlcnNlLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oInJldmVyc2Uub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgCiAgICBzb2x2ZSgpOwogICAgCiAgICByZXR1cm4gMDsKfQ==