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 JAVA (judge verdict: Wrong Answer)

import java.util.Scanner;
public class Main
{
	public static void main(String arg[])
	{
		Scanner in= new Scanner(System.in);
		while(in.hasNext())
		{
			int y=in.nextInt(),m=in.nextInt(),d=in.nextInt();
			if(y<1868)
				System.out.println("pre-meiji");
			else if(y>=1868&&y<=1912)
			{
				if(y==1868)
				{
					if(m>=9)
					{
						if(m==9)
						{
							if(d>=8)
								System.out.println("meiji "+y+" "+m+" "+d);
							else
								System.out.println("pre-meiji");
						}
						else
							System.out.println("meiji "+y+" "+m+" "+d);
					}
					else System.out.println("pre-meiji");
				}
				else if(y==1912)
				{
					if(m<=7)
					{
						if(m==7)
						{
							if(d<=29)
								System.out.println("meiji "+y+" "+m+" "+d);
							else
								System.out.println("taisho "+y+" "+m+" "+d);
						}
						else System.out.println("meiji "+y+" "+m+" "+d);
					}
					else System.out.println("taisho "+y+" "+m+" "+d);
				}
				else
					System.out.println("meiji "+y+" "+m+" "+d);
			}
			else if(y>1912&&y<=1926)
			{
				if(y>1912&&y<1926)
					System.out.println("taisho "+y+" "+m+" "+d);
				else if(y==1926)
				{
					if(m<=12)
					{
						if(m==12)
						{
							if(d<=24)
								System.out.println("taisyo "+y+" "+m+" "+d);
							else
								System.out.println("syowa "+y+" "+m+" "+d);
						}
						else System.out.println("taisyo "+y+" "+m+" "+d);
					}
					else System.out.println("syowa "+y+" "+m+" "+d);
				}
			}
			else if(y>1926&&y<=1989)
			{
				if(y>1926&&y<1989)
					System.out.println("syowa "+y+" "+m+" "+d);
				else if(y==1989)
				{
					if(m==1)
					{
						if(d<=7)
							System.out.println("syowa "+y+" "+m+" "+d);
						else
							System.out.println("heisei "+y+" "+m+" "+d);
					}
					else System.out.println("heise "+y+" "+m+" "+d);
				}
			}
			else
				System.out.println("heise "+y+" "+m+" "+d);
		}
	}
}