#include<bits/stdc++.h>
#define N 5005
using namespace std;
int n;
int len = 1, a[N][N];
string f[5005];
string add(string a, string b) {
string ans;
int la = a.length();
int lb = b.length();
int i, j, jw = 0;
for(i = la-1, j = lb-1; i >= 0 && j >= 0; i--, j--)//按位相加
{
ans += (a[i] - '0'+ b[j]- '0' + jw) % 10 + '0';
jw = (a[i] - '0'+ b[j]- '0' + jw) / 10;
}
while(i >= 0)//如果a位数还有剩余
{
ans += (a[i] - '0'+ jw) % 10 + '0';
jw = (a[i]- '0' + jw) / 10;
i--;
}
while(j >= 0)//如果b位数还有剩余
{
ans += (b[j] - '0' + jw) % 10 + '0';
jw = (b[j]- '0' + jw) / 10;
j--;
}
if(jw) ans += '0' + jw;//进位不为0处理
reverse(ans.begin(), ans.end());//答案倒置
return ans;//返回答案
}
int main()
{
int n, i, m;
cin >> m >> n;
f[1] = 1;
f[2] = 2;
for(i = 3; i <= m - n; i++)
f[i] = add(f[i-1], f[i-2]);//递推
cout << f[m - n];//输出答案
return 0;
}