#include<bits/stdc++.h>
using namespace std;
namespace IO{
char ibuf[(1<<20)+1],*iS,*iT;
#if ONLINE_JUDGE
#define gh() (iS==iT?iT=(iS=ibuf)+fread(ibuf,1,(1<<20)+1,stdin),(iS==iT?EOF:*iS++):*iS++)
#else
#define gh() getchar()
#endif
inline long long read(){
char ch=gh();
long long x=0;
bool t=0;
while(ch<'0'||ch>'9') t|=ch=='-',ch=gh();
while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();
return t?-x:x;
}
}
using IO::read;
int size=1;
int m,n,f[5020][5050];
void fb(int q){
for(int i=1;i<=size;i++){
f[q][i]=f[q-1][i]+f[q-2][i];
}
for(int i=1;i<=size;i++){
int cnt=f[q][size+1];
f[q][i+1]=f[q][i]/10+f[q][i+1];
f[q][i]=f[q][i]%10;
if(f[q][size+1]>0)
size++;
}
}
int main(void){
cin>>m>>n;
m=1;
n=n-m;
f[1][1]=1,f[2][1]=2;
for(int i=3;i<=n;i++){
fb(i);
}
while(f[n][size]==0){
size--;
}
for(int i=size;i>=1;i--)
cout<<f[n][i];
return 0;
}