#include <iostream>
#include <iomanip>
using namespace std;
long julianDate(int y, int m, int d)
{
if (m <= 2) {
y--;
m += 12;
};
long A = y/100;
A = 2 - A + A/4;
long J = (1461L * y)/ 4;
long K = (306001L*(m + 1))/10000L;
return J + K + d + 1720995L + A;
};
void grigorianDate(long JD,
int& y, int& m, int& d)
{
long A = (JD*4 - 7468865L)/146097L;
A = JD + 1 + A - (A/4L);
long B = A + 1524;
long C = (B*20L - 2442L)/7305L;
long D = (C * 1461L) / 4L;
long E = (10000L * (B-D)) / 306001L;
d = B - D - E*306001L/10000L;
m = ( E <= 13 ) ? E - 1 : E - 13;
y = ( m > 2 ) ? C - 4716 : C - 4715;
};
int weekday(long jd) { return (jd+1)%7; }
int main()
{
int cnt[7] {0};
for(int y = 1900; y < 2300; ++y)
for(int m = 1; m <= 12; ++m)
cnt[weekday(julianDate(y,m,13))]++;
cout << "13:\n";
cout << "sunday: " << cnt[0] << " times\n";
cout << "monday: " << cnt[1] << " times\n";
cout << "tuesday: " << cnt[2] << " times\n";
cout << "wednesday: " << cnt[3] << " times\n";
cout << "thursday: " << cnt[4] << " times\n";
cout << "friday: " << cnt[5] << " times\n";
cout << "saturday: " << cnt[6] << " times\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpsb25nIGp1bGlhbkRhdGUoaW50IHksIGludCBtLCBpbnQgZCkKewogICAgaWYgKG0gPD0gMikgewogICAgICAgIHktLTsKICAgICAgICBtICs9IDEyOwogICAgfTsKICAgIGxvbmcgQSA9IHkvMTAwOwogICAgQSA9IDIgLSBBICsgQS80OwogICAgbG9uZyBKID0gKDE0NjFMICogeSkvIDQ7CiAgICBsb25nIEsgPSAoMzA2MDAxTCoobSArIDEpKS8xMDAwMEw7CiAgICByZXR1cm4gSiArIEsgKyBkICsgMTcyMDk5NUwgKyBBOwp9OwoKdm9pZCBncmlnb3JpYW5EYXRlKGxvbmcgSkQsCiAgICAgICAgICAgICAgICAgICBpbnQmIHksICBpbnQmIG0sIGludCYgIGQpCnsKICAgIGxvbmcgQSA9IChKRCo0IC0gNzQ2ODg2NUwpLzE0NjA5N0w7CiAgICBBID0gSkQgKyAxICsgQSAtIChBLzRMKTsKICAgIGxvbmcgQiA9IEEgKyAxNTI0OwogICAgbG9uZyBDID0gKEIqMjBMIC0gMjQ0MkwpLzczMDVMOwogICAgbG9uZyBEID0gKEMgKiAxNDYxTCkgLyA0TDsKICAgIGxvbmcgRSA9ICgxMDAwMEwgKiAoQi1EKSkgLyAzMDYwMDFMOwogICAgZCA9IEIgLSBEIC0gRSozMDYwMDFMLzEwMDAwTDsKICAgIG0gPSAoIEUgPD0gMTMgKSA/IEUgLSAxIDogRSAtIDEzOwogICAgeSA9ICggbSA+IDIgKSA/IEMgLSA0NzE2IDogQyAtIDQ3MTU7Cn07CgppbnQgd2Vla2RheShsb25nIGpkKSB7IHJldHVybiAoamQrMSklNzsgfQoKaW50IG1haW4oKQp7CiAgICBpbnQgY250WzddIHswfTsKICAgIGZvcihpbnQgeSA9IDE5MDA7IHkgPCAyMzAwOyArK3kpCiAgICAgICAgZm9yKGludCBtID0gMTsgbSA8PSAxMjsgKyttKQogICAgICAgICAgICBjbnRbd2Vla2RheShqdWxpYW5EYXRlKHksbSwxMykpXSsrOwoKICAgIGNvdXQgPDwgIjEzOlxuIjsKICAgIGNvdXQgPDwgInN1bmRheTogICAgIiA8PCBjbnRbMF0gPDwgIiB0aW1lc1xuIjsKICAgIGNvdXQgPDwgIm1vbmRheTogICAgIiA8PCBjbnRbMV0gPDwgIiB0aW1lc1xuIjsKICAgIGNvdXQgPDwgInR1ZXNkYXk6ICAgIiA8PCBjbnRbMl0gPDwgIiB0aW1lc1xuIjsKICAgIGNvdXQgPDwgIndlZG5lc2RheTogIiA8PCBjbnRbM10gPDwgIiB0aW1lc1xuIjsKICAgIGNvdXQgPDwgInRodXJzZGF5OiAgIiA8PCBjbnRbNF0gPDwgIiB0aW1lc1xuIjsKICAgIGNvdXQgPDwgImZyaWRheTogICAgIiA8PCBjbnRbNV0gPDwgIiB0aW1lc1xuIjsKICAgIGNvdXQgPDwgInNhdHVyZGF5OiAgIiA8PCBjbnRbNl0gPDwgIiB0aW1lc1xuIjsKCn0K