public static int elapsed_days(int year) {
int months_elapsed = CCMath.div(235*year-234, 19);
int r;
int d = CCMath.div_mod(out r, months_elapsed, 1080);
int parts_elapsed = 204 + 793 * r;
int hours_elapsed = 11 + 12 * months_elapsed +
793 * d + CCMath.div(parts_elapsed, 1080);
int day = 29*months_elapsed + CCMath.div(hours_elapsed, 24);
if (CCMath.mod(3*(day+1), 7) < 3) {
day += 1;
}
return day;
}