package main import ( "bufio" "fmt" "os" "strconv" ) var sc = bufio.NewScanner(os.Stdin) func main() { sc.Split(bufio.ScanWords) alpha := make([]int, 26) for i := range alpha { alpha[i] = nextInt() } t := alpha['h'-'a'] * alpha['e'-'a'] * alpha['w'-'a'] * alpha['r'-'a'] * alpha['d'-'a'] o := alpha['o'-'a'] t *= (o / 2) * (o - o/2) l := alpha['l'-'a'] n := 2*(l/3) + l%3 t *= int(NCR(uint64(n), 2)) * (l - n) fmt.Println(t) } func nextLine() string { sc.Scan() return sc.Text() } func nextInt() int { i, _ := strconv.Atoi(nextLine()) return i } func nextInt64() int64 { i, _ := strconv.ParseInt(nextLine(), 10, 64) return i } func nextUint64() uint64 { i, _ := strconv.ParseUint(nextLine(), 10, 64) return i } func nextFloat() float64 { f, _ := strconv.ParseFloat(nextLine(), 64) return f } func NCR(n, r uint64) uint64 { k := r if k > n/2 { k = n - r } ret := uint64(1) for i := uint64(1); i <= k; i++ { ret *= n - i + 1 ret /= i } return ret }