package main import ( "bufio" "os" "fmt" "strconv" "strings" ) func main() { S := readLine() t := 0 r := 0 e := 0 for _, v := range S { switch v{ case 't': { t+=1 } case 'r': { r+=1 } case 'e': { e+=1 } } } PrintI(minA(t, r, e/2)) } var rdr = bufio.NewReaderSize(os.Stdin, 1000000) func readLine() string { buf := make([]byte, 0, 1000000) for { l, p, e := rdr.ReadLine() if e != nil { panic(e) } buf = append(buf, l...) if !p { break } } return string(buf) } func min(a int, b int) int { if a < b { return a } return b } func minA(arg ...int) int { var s = arg[0] for _, v := range arg { s = min(s, v) } return s } func PrintI(args ...int) { fmt.Println(strings.Join(mapToString(args), " ")) } func mapToString(arr []int) []string { ret := make([]string, len(arr)) for i := 0; i < len(arr); i++ { ret[i] = strconv.Itoa(arr[i]) } return ret }