import java.util.Scanner; public class Yukicoder73 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] alpha = new int[26]; for (int i = 0; i < 26; i++) alpha[i] = sc.nextInt(); long maxH = -1, maxO, res = 0; if (alpha['h' - 'a'] > 0 && alpha['e' - 'a'] > 0 && alpha['l' - 'a'] > 2 && alpha['o' - 'a'] > 1 && alpha['w' - 'a'] > 0 && alpha['r' - 'a'] > 0 && alpha['d' - 'a'] > 0) { for (int i = 2; i < alpha['l' - 'a']; i++) maxH = Math.max(cmb(i, 2) * (alpha['l' - 'a'] - i), maxH); maxO = (long) (Math.ceil(alpha['o' - 'a'] / 2.0) * Math.floor(alpha['o' - 'a'] / 2.0)); res = maxH * maxO * alpha['h' - 'a'] * alpha['e' - 'a'] * alpha['w' - 'a'] * alpha['r' - 'a'] * alpha['d' - 'a']; } System.out.println(res); } static long cmb(int n, int m) { long c = 1; m = (n - m < m ? n - m : m); for (int ns = n - m + 1, ms = 1; ms <= m; ns++, ms++) { c *= ns; c /= ms; } return c; } }