fiveWeekends()={ my(day=6); \\ 0 = Friday; this represents Thursday for March 1, 1900. my(ny=[31,30,31,30,31,31,30,31,30,31,31,28],ly=ny,v,s); ly[12]=29; for(year=1900,2100, v=if((year+1)%4,ny,ly); \\ Works for 1600 to 2398 for(month=1,12, if(v[month] == 31 && !day, if(month<11, print(year" "month+2) , print(year+1" 1") ); s++ ); day = (day + v[month])%7 ) ); s };