#include<bits/stdc++.h>
using namespace std;
//根据题目意思,定义递归 
int Ack(int m,int n){
    if(m==0) return n+1;
    else if(m!=0 && n==0) return Ack(m-1,1);
    else return Ack(m-1,Ack(m,n-1));
}
int main(){
    int m,n;
    cin>>m>>n;
    cout<<Ack(m,n);
    return 0;
}
/**************************************************************
	Problem: 1835
	User: admin
	Language: C++
	Result: Accepted
	Time:14 ms
	Memory:2072 kb
****************************************************************/