Problem:
西暦和暦変換

西暦で表された年月日を、元号を用いた和暦に変換し、その年月日を出力するプログラムを作成してください。入力は例に示すように 3 つの整数であり、順に西暦年、月、日です。これを、出力例に示すように変換してください。なお、明治以前の年月日が入力された場合は「pre-meiji」と表示してください。

各年号の最初の年は「元年」ではなく「１年」と出力することとします。

元号

期間

meiji

1868. 9. 8 〜 1912. 7.29

taisho

1912. 7.30 〜 1926.12.24

showa

1926.12.25 〜 1989. 1. 7

heisei

1989. 1. 8 〜

入力

複数のデータが与えられます。各データとして年、月、日を表す３つの整数が空白区切りで１行に与えられます。

入力の終わりまで処理してください。データの数は 50 を超えません。

出力

空白区切りの元号、年、月、日、または「pre-meiji」を１行に出力してください。

Sample Input

2005 9 3
1868 12 2
1868 9 7

Output for the Sample Input

heisei 17 9 3
meiji 1 12 2
pre-meiji

Solution in Ruby (judge verdict: Accepted)

x = gets 
until x.nil?
 y = x.split(" ")
 year = y[0].to_i
 month = y[1].to_i
 day = y[2].to_i
 koyomi = 0
 if year < 1868
  puts "pre-meiji"
 end
 
 if year > 1989
  koyomi = year - 1988
  puts "heisei #{koyomi} #{month} #{day}"
 end

 if year == 1868
  if month < 9
   puts "pre-meiji"
  elsif month == 9
    if day <= 7
     puts "pre-meiji"
    else
     koyomi = 1
     puts "meiji #{koyomi} #{month} #{day}"
    end
  else
    koyomi = 1
    puts "meiji #{koyomi} #{month} #{day}"
  end
 end
 
 if year > 1868 && year < 1912
  koyomi = year - 1867
  puts "meiji #{koyomi} #{month} #{day}"
 end

 if year == 1912
  if month < 7
   koyomi = year - 1867
   puts "meiji #{koyomi} #{month} #{day}"
  elsif month == 7
    if day <= 29
     koyomi = year - 1867
     puts "meiji #{koyomi} #{month} #{day}"
    else
     koyomi = 1
     puts "taisho #{koyomi} #{month} #{day}"
    end
  else
    koyomi = 1
    puts "taisho #{koyomi} #{month} #{day}"
  end
 end

 if year > 1912 && year < 1926
  koyomi = year - 1911
  puts "taisho #{koyomi} #{month} #{day}"

 end
 
 if year == 1926
  if month < 12
   koyomi = year - 1911
   puts "taisho #{koyomi} #{month} #{day}"
  elsif month == 12
    if day <= 24
     koyomi = year -1911
     puts "taisho #{koyomi} #{month} #{day}"
    else
     koyomi = 1
     puts "showa #{koyomi} #{month} #{day}"
    end
  else
    koyomi = 1
    puts "showa #{koyomi} #{month} #{day}"
  end
 end

 if year > 1926 && year < 1989
  koyomi = year - 1925
  puts "showa #{koyomi} #{month} #{day}"
 end

 if year == 1989
  if month < 1
   koyomi = year - 1925
   puts "showa #{koyomi} #{month} #{day}"
  elsif month == 1
    if day <= 7
     koyomi = year - 1925
     puts "showa #{koyomi} #{month} #{day}"
    else
     koyomi = 1
     puts "heisei #{koyomi} #{month} #{day}"
    end
  else
    koyomi = 1
    puts "heisei #{koyomi} #{month} #{day}"
  end
 end




 x = gets
end