#include <stdio.h>
int main()
{
//先用一维数组来代表每一个月的天数(注意此时2月只有28天,若是碰到闰年则需要加1天)
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
//正常定义变量,初始化最好写上
int sum=0,year,month,day;
//需要多组输入,所以用这个
while(~scanf("%d %d %d",&year,&month,&day))
{
//其实这里可以直接写i=9,然后下面不减243,但是oj过不了很奇怪,无所谓,写成i=0下面减去243就行了
for(int i=0;i<month-1;i++)
{
day+=a[i];//遍历每个月的天数加起来
}
计算总天数(这是没分闰年与非闰年),因为year从2007年算起,所以要减去2007
day=day+(year-2007)*365-243;
//上面所提到的,此时碰到了闰年,如果超过了二月则需要加1,或者已经到了2009年,2010年,此时也需要加一
if(year==2008&&month>2||year>2008)
{
day++;
}
//注意是从9月1日星期六开始计算,所以当余数是3的时候,就是星期一了,就输出all
if(day%7==3)
{
printf("ALL\n");
continue;//加continue意思是跳过这个if循环了,然后执行循环外面的语句
}
sum=day-day/7;
//此时便在判断是否进入了下一周,若到了下一周,则需要再减去一个星期一
if(day%7>=3) sum--;
sum=sum%4;
switch(sum){
case 1:printf("B\n");break;
case 2:printf("X\n");break;
case 3:printf("H\n");break;
case 0:printf("P\n");break;
}
}
return 0;
}