import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Sick_Knight {
static int N,M;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
int count = 1;
if(N<3){
if(N==1) {
System.out.println(count);
return;
}
count = 1+(M-1)/2;
if(count>4){
count = 4;
}
}
else {
if(M<7){
count = M;
if(count>4){
count = 4;
}
}
else {
count = 1+4+M-6-1;
}
}
System.out.println(count);
}
}
이 문제를 풀때는 N<3보다 작아서 1,2,3,4번 방법을 모두 사용하는것은 불가능 할때를 기준으로 놓고 푼다.
처음에 dfs로 5칸이 되면 다른 dfs를 들어가도록 설계하였는데, 일단 하면서도 모순이 많았고 애초에 입력값이 너무커서 dfs설계를 하면 안되는 문제 였다.
이 문제는 N이 1일때부터 차례로 하나씩 직접 그려보면서 풀어서 규칙을 찾아야하는 문제였다.