import java.util.*;

class UserDate
{
	private int endDayOfMonth[];//´çÇØ ³âµµÀÇ ³¯Â¥¸¦ ±¸ÇÏ±â À§ÇØ ´ÞÀÇ ÃÖÁ¾ ³¯Â¥¸¦ ÀúÀå ÇÏ´Â ¹è¿­
	private int startYear,startMonth,startDay; // ½ÃÀÛ ³¯Â¥ (»ý³â¿ùÀÏ)
	private int endYear,endMonth,endDay; // Á¾·á ³¯Â¥(¾Ë¾Æ º¹°í ½ÍÀº ³¯Â¥)
	private int totDay; // ÃÑ ³¯Â¥

	UserDate()
	{
		endDayOfMonth = new int[] {31,28,31,30,31,30,31,31,30,31,30,31};
	}

	public void putStartDate(int year, int month, int day)
	{
		this.startYear=year;
		this.startMonth=month;
		this.startDay=day;
	}

	public void putEndDay(int year, int month, int day)
	{
		this.endYear=year;
		this.endMonth=month;
		this.endDay=day;
	}

	public void calculateTotDay()
	{
		totDay=(endYear-startYear)*365; // ½ÃÀÛ³âµµ ¿¡¼­ »çÀÌ³âµµ * 365¸¦ °öÇØ ³¯¼ö¸¦ ¸ÕÀú ±¸ÇÑ´Ù.
		// À±³âÀÇ Á¶°ÇÀ» ¸¸Á·ÇÏ´Â ³¯Â¥¸¦ ´õÇÏ°Å³ª »«´Ù.
		// À±³âÀÇ Á¶°Ç 4³â ¸¶´Ù 100ÀÇ ¹è¼ö°¡ ¾Æ´Ñ ÇØÀÌ¸ç, 400ÀÇ ¹è¼ö°¡ µÇ´Â ÇØ´Â À±³âÀÌ´Ù.
		totDay+=(int)(endYear/4)-(int)(startYear/4);
		totDay-=(int)(endYear/100)-(int)(startYear/100);
		totDay+=(int)(endYear/400)-(int)(startYear/400);
		//À§ÀÇ ³× ¹®ÀåÀ» ÇÏ³ª·Î ¾²¼Åµµ ¹«¹æÇÕ´Ï´Ù. ´Ù¸¸ ±³À°»ó ³ª´²¼­ ÇÏ½ÉÀÌ ÁÁÀ»°Å °°¾Æ¼­

		// ½ÃÀÛ³âµµÀÇ 1¿ù 1ÀÏ ¿¡¼­ ÇöÁ¦ ±îÁö ³¯Â¥´Â »©´Â ·çÆ¾
		procLeapYear(startYear);
		for(int i=0; i < (startMonth-1); i++)
		{
			totDay-=endDayOfMonth[i];
		}
		totDay-=startDay;

		// ¸¶Áö¸· ³âµµÀÇ ³¯Â¥ÀÇ ÃÑÇÕ
		procLeapYear(endYear);
		for(int i=0; i < (endMonth-1); i++)
		{
			totDay+=endDayOfMonth[i];
		}
		totDay+=endDay;
	}

	// À±³âÀÏ °æ¿ì 2¿ùÀÇ ÃÑ³¯¼ö¸¦ 29ÀÏ·Î À±³âÀÌ ¾Æ´Ò°æ¿ì 28ÀÏ·Î º¯È¯
	private void procLeapYear(int year)
	{
		GregorianCalendar gc = new GregorianCalendar();
		if(gc.isLeapYear(year))
		{
			endDayOfMonth[1]=29;
		}
		else
		{
			endDayOfMonth[1]=28;
		}
	}

	public int getTotDay()
	{
		return totDay;
	}
}