#include "library.h"
bool is_leap_year(int Y)
{ if (Y%4!=0) return false;
if (Y%100!=0) return true;
if (Y%400!=0) return false;
return true; }
int day_of_year(int Y, int M, int D)
{ int ans=0;
if (M>1) ans=ans+31;
if (M>2)
{ if (is_leap_year(Y))
ans=ans+29;
else
ans=ans+28; }
if (M>3) ans=ans+31;
if (M>4) ans=ans+30;
if (M>5) ans=ans+31;
if (M>6) ans=ans+30;
if (M>7) ans=ans+31;
if (M>8) ans=ans+31;
if (M>9) ans=ans+30;
if (M>10) ans=ans+31;
if (M>11) ans=ans+30;
return ans+D; }
int day_number(int Y, int M, int D)
{ int ans=day_of_year(Y, M, D);
ans=ans+Y*365;
ans=ans+(Y+3)/4;
ans=ans-(Y-1)/100;
ans=ans+(Y-1)/400;
return ans; }
void test(int Y, int M, int D)
{ int dn = day_number(Y, M, D);
printf("%04d %02d %02d -> %d\n", Y, M, D, dn); }
void main(void)
{ test(2005, 10, 11);
test(2005, 10, 12);
test(2005, 10, 13);
test(2005, 10, 20);
test(2005, 10, 27);
test(2005, 1, 1);
test(2004, 12, 31);
test(2000, 1, 1);
test(1999, 12, 31);
test(1900, 1, 1);
test(1899, 12, 31);
test(1777, 4, 22); }