#include "bits/stdc++.h" using namespace std; #define ll long long int #define rep(i,n) for( int i = 0; i < n; i++ ) #define rrep(i,n) for( int i = n; i >= 0; i-- ) #define REP(i,s,t) for( int i = s; i <= t; i++ ) #define RREP(i,s,t) for( int i = s; i >= t; i-- ) #define dump(x) cerr << #x << " = " << (x) << endl; #define INF 2000000000 #define mod 1000000007 #define INF2 1000000000000000000 int f(int a, int b) { return a * (a - 1) / 2 * b; } int main(void) { cin.tie(0); ios::sync_with_stdio(false); int cnt[26] = {}; rep(i, 26) cin >> cnt[i]; ll ans = 1; string S = "helloworld"; rep(i, 26) { char c = i + 'a'; //cout << (int)S.find(c) << endl; if ((int)S.find(c) != -1) { //cout << "**" << c << " " << cnt[i] << endl; if (c != 'l' && c != 'o') { ans *= cnt[i]; } else if (c == 'o') { if (cnt[i] < 2) ans *= 0; ans *= (cnt[i] / 2) * ((cnt[i] + 1) / 2); } else if (c == 'l') { if (cnt[i] < 3) ans *= 0; int tmp = 1; REP(a, 2, cnt[i] - 1) { tmp = max(tmp, f(a, cnt[i] - a)); //cout << "*" << f(a, cnt[i] - a) << endl; } ans *= tmp; } } } cout << ans << endl; return 0; }