/*#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>170 && b>170 && c>170)
{
printf("PASS");
}
else
printf("CRASH");
return 0;
}*/
/*
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%7==0)
printf("multiple");
else
printf("not multiple");
return 0;
}*/
/*
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a%2==0)
printf("even");
else
printf("odd");
return 0;
}*/
/*
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n%4==0&&n%100!=0||n%400==0)
printf("Leap");
else
printf("Normal");
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(b>=30)
{
printf("%d %d",a, b-30);
}
else if(a==0)
{
printf("%d %d",23,b+30);
}
else
{
printf("%d %d",a-1, b+30);
}
return 0;
}
**********꼭 기억해야합니다!!************
a = 43;
b = a의 십의자리수; b = a/10;
c = a의 일의자리수; c = a%10;
10 100 1000 10000 ...로 나눈 나머지와 몫을
***********************************
*/
/*
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a==11||a==12||a==13)
printf("%dth",a);
else if(a%10==1)
printf("%dst",a);
else if(a%10==2)
printf("%dnd",a);
else if(a%10==3)
printf("%drd",a);
else
printf("%dth",a);
return 0;
}*/
/*
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(a%b==0)
printf("%d*%d=%d",b,a/b,a);
else if(b%a==0)
printf("%d*%d=%d",a,b/a,b);
else
printf("none");
}*/
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(b==2)
{
if(a%4==0&&a%100!=0||a%400==0)
printf("29");
else
printf("28");
}
else if(b==4||b==6||b==9||b==11)
printf("30");
else
printf("31");
}