#include <bits/stdc++.h>//万能头文件
using namespace std;
string s[500];//字符串数组
void y(string s1,string s2,int l){//高精度
int a[1001],b[1001],c[1001];
string s3="";
reverse(s1.begin(),s1.end());
for(int i=0;i<=s1.size()-1;i++) a[i]=s1[i]-'0';
reverse(s2.begin(),s2.end());
for(int i=0;i<=s2.size()-1;i++) b[i]=s2[i]-'0';
int len=max(s1.size()-1, s2.size()-1);
for(int i=0;i<=len;i++){
c[i]=a[i]+b[i]+c[i];
c[1+i]=c[i]/10;
c[i]=c[i]%10;
}
len++;
while(len>0 && c[len]==0) len--;
for(int i=len;i>=1;i--){
s3+=c[i]+'0';
}
s[l]=s3;
}
int main()
{
s[1]="1";
s[2]="2";
int n,m;
cin>>n>>m;
m=m-n+1;
for(int i=3;i<=m;i++) y(s[i-1],s[i-2],i);//递推
cout<<s[m];
return 0;
}