rt
#define I return
#define AK 0
#define IOI ;
#include "bits/stdc++.h"
using namespace std;
string k[1001];
string s(string x,string y){
int a[10086]={0},b[10086]={0},c[10086]={0},len=max(x.size(),y.size());
for(int i=0;i<x.size();i++)a[i]=x[x.size()-i-1]-'0';
for(int i=0;i<y.size();i++)b[i]=y[y.size()-i-1]-'0';
for(int i=0;i<len;i++){
c[i]+=a[i]+b[i];
c[i+1]=c[i]/10;
c[i]%=10;
}
while(c[len]==0&&len>=1)len--;
string u="";
for(int i=len;i>=0;i--)u+=c[i]+'0';
return u;
}
string t(int x,int y){
if(y==x+1)return "1";
if(y==x+2)return "2";
if(k[y].size())return k[y];
k[y]=s(t(x,y-1),t(x,y-2));
return k[y];
}
int main(){
int m,n;
cin>>m>>n;
cout<<t(m,n);
I AK IOI
}
/*
______ ______ __ __ ______ _____ ______
/\__ _\ /\ _ \/\ \/\ \ /\__ _\ /\ __`\/\__ _\
\/_/\ \/ \ \ \L\ \ \ \/'/' \/_/\ \/ \ \ \/\ \/_/\ \/
\ \ \ \ \ __ \ \ , < \ \ \ \ \ \ \ \ \ \ \
\_\ \__ \ \ \/\ \ \ \\`\ \_\ \__\ \ \_\ \ \_\ \__
/\_____\ \ \_\ \_\ \_\ \_\ /\_____\\ \_____\/\_____\
\/_____/ \/_/\/_/\/_/\/_/ \/_____/ \/_____/\/_____/
*/