# 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
  
  def height
    @height
  end
  
  def weight
    @weight
  end
  
  def name
    @name
  end

  def bmi
    @bmi
  end
  
  def bmi= (new_bmi)
    @bmi = new_bmi
  end
  
  def danger
    @danger
  end
  
  def danger= (new_danger)
    @danger = new_danger
  end
end

def bmi (weight, height)
  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 (bmi)
  if bmi <= 18.5
    'underweight'
  elsif bmi >= 30
    'obese'
  elsif bmi >= 25
    'overweight'
  else
    'normal'
  end
end

famous_people = readlines.collect do |line|
  Person.new line
end

sorted_people = famous_people.sort_by do |person|
  person.bmi = bmi(person.weight, person.height)
  person.danger = danger(person.bmi)
  person.weight
end

sorted_people.each do |person|
  puts "#{person.name}, height: #{person.height}, weight: #{person.weight}, BMI: #{person.bmi} (#{person.danger})"
end
