package main import ( "bufio" "fmt" "io" "log" "os" "strconv" "strings" ) func Run(in io.Reader, out io.Writer) error { sc := bufio.NewScanner(in) sc.Scan() lineText := sc.Text() lines := strings.Split(lineText, " ") targetHeightText := lines[0] targetHeight, err := strconv.ParseInt(targetHeightText, 0, 64) if err != nil { return err } order := 1 for sc.Scan() { heightText := sc.Text() height, parseErr := strconv.ParseInt(heightText, 0, 64) if parseErr != nil { return parseErr } if height > targetHeight { order++ } } if (order % 10) == 1 { fmt.Fprintf(out, "%dst\n", order) } else if (order % 10) == 2 { fmt.Fprintf(out, "%dnd\n", order) } else if (order % 10) == 3 { fmt.Fprintf(out, "%drd\n", order) } else { fmt.Fprintf(out, "%dth\n", order) } return nil } func main() { err := Run(os.Stdin, os.Stdout) if err != nil { log.Fatal(err) } }