/*
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(b==1||b==2)
{
printf("%d",113-a/10000);
}
else
{
printf("%d",13-a/10000);
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if((2013-a)/100==19)
{
if((2013-a)%100/10==0)
{
printf("%d %d",(2013-a)%10,1);
}
else
{
printf("%d %d",(2013-a)%100,1);
}
}
else
{
if((2013-a)%100/10==0)
{
printf("%d %d",(2013-a)%10,3);
}
else
{
printf("%d %d",(2013-a)%100,3);
}
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(c/10==0)
{
printf("%d",1000*a+100*b+0+c);
}
else
{
printf("%d",1000*a+100*b+c);
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(b/10==0)
{
if(c/10==0)
{
printf("%d",100000*a+1000*b+0+0+c);
}
else if(c/100==0)
{
printf("%d",100000*a+1000*b+0+c);
}
else
{
printf("%d",100000*a+1000*b+c);
}
}
else
{
if(c/10==0)
{
printf("%d",100000*a+1000*b+0+0+c);
}
else if(c/100==0)
{
printf("%d",100000*a+1000*b+0+c);
}
else
{
printf("%d",100000*a+1000*b+c);
}
}
}
*/
/*
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(b-30>=0)
{
printf("%d %d",a,b-30);
}
else
{
if(a==0&&b-30<0)
{
printf("%d %d",23,60-(b-30)*(-1));
}
else
{
printf("%d %d",a-1,60-(b-30)*(-1));
}
}
return 0;
}
*/
#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<8)
{
if(b%2==0&&b!=2)
{
printf("30");
}
else if(b!=2)
{
printf("31");
}
}
else
{
if(b%2==0&&b!=2)
{
printf("31");
}
else if(b!=2)
{
printf("30");
}
}
return 0;
}