//import java.util.Scanner;
//
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// long a = t.nextLong();
// long b = t.nextLong();
// System.out.println(a+b);
//
// }
//}
//import java.util.Scanner;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int a = t.nextInt();
// int b = t.nextInt();
// System.out.println(a>b ? a:b);
// }
//}
//import java.util.Scanner;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int a = t.nextInt();
// int b = t.nextInt();
// int c = t.nextInt();
// System.out.println((a<b ? a:b)<c ? (a<b ? a:b):c);
// }
//}
//import java.util.Scanner;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int a = t.nextInt();
// int b = t.nextInt();
//
// boolean xa = a == 1 ? true : false;
// boolean xb = b == 1 ? true : false;
//
// boolean c = (!xa && xb) || (xa && !xb);
// int xc = c == true ? 1 : 0;
// System.out.println(xc);
// }
//}
//import java.util.Scanner;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int a = t.nextInt();
// int b = t.nextInt();
// boolean xa = a == 1 ? true : false;
// boolean xb = b == 1 ? true : false;
// boolean c = (!xa && !xb) || (xa && xb);
// int xc= c == true ? 1 : 0;
// System.out.println(xc);
// }
//}
//import java.util.Scanner;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int a = t.nextInt();
// int b = t.nextInt();
// boolean xa = a == 1 ? true : false;
// boolean xb = b == 1 ? true : false;
// boolean c = (!xa && !xb) && !(xa || xb);
// int xc= c == true ? 1 : 0;
// System.out.println(xc);
// }
//}
//
//import java.util.*;
//
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
//
// int n = t.nextInt();
//
// if(n>500) {
// System.out.println("^^^");
// }
// else if(n>200) {
// System.out.println("asdasd");
// }
// else if(n>100) {
// System.out.println("adsads");
// if(n%2==0) {
//
// }
// }
// else {
//
// }
// }
//}
//import java.util.*;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int n = t.nextInt();
// if(n>=90) {
// System.out.println("A");
// }
// else if(n>=80) {
// System.out.println("B");
// }
// else if(n>=70) {
// System.out.println("C");
// }
// else if(n>=60) {
// System.out.println("D");
// }
// else {
// System.out.println("F");
// }
// }
//}
//import java.util.*;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int n = t.nextInt();
// if(n<=10) {
// System.out.println("정상");
// }
// else if(n<=20) {
// System.out.println("과체중");
// }
// else {
// System.out.println("비만");
// }
// }
//}
//import java.util.*;
//public class Main {
// public static void main(String[] args) {
// Scanner t = new Scanner(System.in);
// int n = t.nextInt();
// if(n==11 || n==12 || n==13) {
// System.out.println(n+"th");
// }
// else if(n%10==1) {
// System.out.println(n+"st");
// }
// else if(n%10==2) {
// System.out.println(n+"nd");
// }
// else if(n%10==3) {
// System.out.println(n+"rd");
// }
// else {
// System.out.println(n+"th");
// }
// }
//}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner t =new Scanner(System.in);
int y = t.nextInt();
int m = t.nextInt();
if(m==2) {
if(y%400==0 || y%4==0 && !(y%100==0) ) {
System.out.println(29);
}
else {
System.out.println(28);
}
}
else if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) {
System.out.println(31);
}
else {
System.out.println(30);
}
}
}



