protected int getGergorianDayNumber(int year, int month, int day){
		if (month<3) 
			 return day + (31 * (month - 1));
		return day + (31 * (month - 1)) - 
				   ((month << 2) + 23) / 10 + (isGregorianLeapYear(year));
	}