﻿# encoding: Windows-31J

class Person
  def initialize input_line
    @name, @yomi, age_text, height_text, weight_text, @job, @special, @hobby = input_line.chomp.split(', ')
    @age = age_text.to_i
    @height = height_text.to_i
    @weight = weight_text.to_i
  end
  
  attr_reader :weight
  
  def bmi
    if @height == 0
      0
    elsif @height > 20    # height in cm
      @weight / (@height/100.0)**2
    else                 # height in m
      @weight / @height**2
    end
  end
  
  def danger
    if bmi <= 18.5
      'underweight'
    elsif bmi >= 30
      'obese'
    elsif bmi >= 25
      'overweight'
    else
      'normal'
    end
  end
  
  def show
    "#{@name}, height: #{@height}, weight: #{@weight}, BMI: #{bmi} (#{danger})"
  end
end

famous_people = readlines.collect do |line|
  Person.new line
end

sorted_people = famous_people.sort_by do |person|
  person.weight
end

sorted_people.each do |person|
  puts person.show
end
