#include<bits/stdc++.h> #include <unordered_map> #define fi first #define se second #define pb push_back using namespace std; /* debug用 */ // #define debug(args...) {} #define debug(args...) { \ string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); \ stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); cout << '\n';} void err(istream_iterator<string> it){} template<typename T, typename... Args> void err(istream_iterator<string> it, T a, Args... args) { cout << *it << " = " << a << ' '; err(++it, args...); } #define int long long #define double long double typedef pair<int, int> PII; // const int N = 2e5 + 10; const int inf = 0x3f3f3f3f; const int INF = 0x3f3f3f3f3f3f3f3f; // const int mod = 1e9 + 7; // int dx[4] = {0, 0, 1, -1}; // int dy[4] = {1, -1, 0, 0}; // int dx[8] = {-1, -1, 0, 1, 1, 1, 0, -1}; // int dy[8] = {0, 1, 1, 1, 0, -1, -1, -1}; void whx() { unordered_map<char, int> mp; for (char ch = 'a'; ch <= 'z'; ch ++ ) { cin >> mp[ch]; } string s; cin >> s; int ans = 0, cnt = 0; for (int i = 0; i < s.size(); i ++ ) { if (cnt + mp[s[i]] > 100) { cnt = mp[s[i]]; ans ++; } else cnt += mp[s[i]]; } cout << ans + 1 << " " << cnt << "\n"; } signed main() { ios::sync_with_stdio(false); cin.tie(0), cout.tie(0); int _; _ = 1; // cin >> _; while (_ -- ){ whx();} return 0; } /* zzz <⌒/ヽ-、__ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ */