/* Tomohiko Sakamoto */
    dayofweek(y, m, d)      /* 0 = Sunday */
    int y, m, d;            /* 1 <= m <= 12,  y > 1752 or so */
    {
            static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
            y -= m < 3;
           return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
    }