#include<fstream>
using namespace std;
int whatDate (int date, bool leap)
{
if (leap)
{
//january february march april may june july august september
october november
if (date == 32 || date == 61 || date == 92 || date == 122 || date == 153 || date == 183 || date == 214 || date == 245 || date == 275 || date ==
306 || date == 336)
return 0;
}
else
{
//january february march april may june july august september
october november
if (date == 32 || date == 60 || date == 91 || date == 121 || date == 152 || date == 182 || date == 213 || date == 244 || date == 274 || date ==
305 || date == 335)
return 0;
}
return date;
}
bool isLeap (int year)
{
if ((!(year % 100) && !(year % 400)) || (!(year % 4) && !(year % 100)))
return true;
else
return false;
}
/////////////////////////////////////MAIN//////////////////////////////////
int main()
{
ofstream fout("friday.out");
ifstream fin("friday.in");
int daysWeek[7];
int temp(0);
short totYears (0);
fin>> totYears;
for (int i (1900) ; i < 1900 + totYears ; i++)//keeps track of years
{
if (isLeap(i))//checks if it's a leap year
{
for(int j(1) ; j <= 366 ; )
{
temp = !whatDate(j, true) ? 1 : temp + 1;//temp has higher scope
for (int week(0) ; week < 7 ; week++)
{
++j;
if (temp == 13)
daysWeek[week]++;
++temp;
}
}
}
else
{
for(int j(1) ; j <= 365 ; )
{
temp = !whatDate(j, false) ? 0 : temp + 1;//temp has higher scope
for (int week(0) ; week < 7 ; week++)
{
++j;
if (temp == 13)
daysWeek[week]++;
++temp;
}
}
}
}
fout<<daysWeek[5] <<" "
<<daysWeek[6] <<" "
<<daysWeek[0] <<" "
<<daysWeek[1] <<" "
<<daysWeek[2] <<" "
<<daysWeek[3] <<" "
<<daysWeek[4];
return 0;
}