Problem:
階級

ボクシングは体重によって階級が分けられています。体重を読み込んで、その階級を出力するプログラムを作成してください。階級と体重の関係は以下の表のとおりとします。

階級

体重（kg）

light fly

48.00kg 以下

fly

48.00kg 超 51.00kg 以下

bantam

51.00kg 超 54.00kg 以下

feather

54.00kg 超 57.00kg 以下

light

57.00kg 超 60.00kg 以下

light welter

60.00kg 超 64.00kg 以下

welter

64.00kg 超 69.00 kg 以下

light middle

69.00kg 超 75.00 kg 以下

middle

75.00kg 超 81.00 kg 以下

light heavy

81.00kg 超 91.00 kg 以下

heavy

91.00kg 超

Input

入力は複数のデータセットからなります。各データセットとして、体重を表す１つの実数 w (40 ≤ w ≤ 150) が１行に与えられます。データセットの数は 50 を超えません。

Output

データセットごとに、対応する階級を１行に出力します。

Sample Input

60.2
70.2
48.0
80.2

Output for the Sample Input

light welter
light middle
light fly
middle

Solution in Scala (judge verdict: Accepted)

import scala.io.Source.stdin

object Main {
  def weightClass(weight: Double): String =
    if (weight > 91) "heavy"
    else if (weight > 81) "light heavy"
    else if (weight > 75) "middle"
    else if (weight > 69) "light middle"
    else if (weight > 64) "welter"
    else if (weight > 60) "light welter"
    else if (weight > 57) "light"
    else if (weight > 54) "feather"
    else if (weight > 51) "bantam"
    else if (weight > 48) "fly"
    else "light fly"

  def results(i: Iterator[String], result: Vector[String] = Vector()): Vector[String] =
    if (i.hasNext) results(i, result :+ weightClass(i.next.toDouble))
    else result

  def main(args: Array[String]): Unit = {
    results(stdin.getLines).foreach(println)
  }
}