#include<bits/stdc++.h>
using namespace std;
int main() {
int c;
cin >> c;
int t;
cin >> t;
while (t--) {
string n;
cin >> n;
vector<int> v(9);
for (int i = 0; i < 9; ++i) {
cin >> v[i];
}
vector<long long> dp(n.size(), LLONG_MAX);
dp[n.size() - 1] = v[n.back() - '1'];
for (int i = n.size() - 2; i >= 0; --i) {
int digit = n[i] - '1';
dp[i] = min(dp[i], v[digit] + (i + 1 < n.size() ? dp[i + 1] : 0));
}
cout << dp[0] << endl;
}
return 0;
}