package cn.xaut;
import java.util.Scanner;
public class T_two {
public static void main(String[] args) {
//星期 1,2,3,4,5,6,7分别代表周几
int weekNumber[]={1,2,3,4,5,6,7};
//通过提示得知2021年1月1日是星期五。那可以推出输入的开始年份的一月一日是星期几
Scanner sc = new Scanner(System.in);
int start = sc.nextInt();
int end=sc.nextInt();
//输入的开始年份和2021相差的年数
int yearNum = Math.abs(start - 2021);
//通过遍历计算2021与开始的年数中有几个闰年,从而计算出开始年份与2021一共相差多少天,在拿这个数对七求余数
int countBigyear=0;
if(start>=2021){
for (int i=2021;i<start;i++){
if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0){//是闰年
countBigyear++;
}
}
}else{
for (int i=start;i<2021;i++){
if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0){//是闰年
countBigyear++;
}
}
}
int smallYear=yearNum-countBigyear;
int sumDay=smallYear*365+366*countBigyear;
//System.out.println("相差"+sumDay+"天");
//相差几天
int weekday= sumDay%7;
int startWeekNum=0;
if(start>2021){
startWeekNum=(5+weekday)%7;
}else{
startWeekNum=Math.abs((5-weekday))%7;
}
//System.out.println(start+"年的1月1日是星期:"+startWeekNum);
//星期指针
int indexWeek=startWeekNum;
//计数器
int count=0;
//默认end年份的一月一日不是星期1
boolean lastFirstMonth=false;
//%7 [0,1,2,3,4,5,6]0为星期一
indexWeek=indexWeek-1;
for(int i=start; i<=end; i++){
//判断2月1日是否为星期1
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的2月1日是星期"+(indexWeek+1));
//判断3月1日
if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0){//是闰年
indexWeek=(((29%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"润年的3月1日是星期"+(indexWeek+1));
}else{//非闰年
indexWeek=(((28%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"非润年的3月1日是星期"+(indexWeek+1));
}
//判断4月1日
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的4月1日是星期"+(indexWeek+1));
//判断5月1日
indexWeek=(((30%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的5月1日是星期"+(indexWeek+1));
//判断6月1日
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的6月1日是星期"+(indexWeek+1));
//判断七月1日
indexWeek=(((30%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的7月1日是星期"+(indexWeek+1));
//判断八月1日
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的8月1日是星期"+(indexWeek+1));
//判断九月1日
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的9月1日是星期"+(indexWeek+1));
//判断十月1日
indexWeek=(((30%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的10月1日是星期"+(indexWeek+1));
//判断十一月1日
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的11月1日是星期"+(indexWeek+1));
//判断十二月1日
indexWeek=(((30%7)+indexWeek))%7;
if(indexWeek==0){
count++;
}
System.out.println(i+"年的12月1日是星期"+(indexWeek+1));
//判断下一年的1月1日
indexWeek=(((31%7)+indexWeek))%7;
if(indexWeek==0){
count++;
lastFirstMonth=true;
}else{
lastFirstMonth=false;
}
System.out.println((i+1)+"年的1月1日是星期"+(indexWeek+1));
}
if(lastFirstMonth){
count=count-1;
}
System.out.println(count);
}
}