#include<stdio.h>
int x,y,z,n;
int a[500],b[500],c[500];
void input_data()
{
scanf("%d %d",&x,&y);
if (x > y)
{
z = x;x = y;y = z;
}
n = y - x + 1;
}
void get_ans()
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
int la = 1,lb = 1,lc;
a[1] = 1;b[1] = 1;
if ( n == 1)
{
printf("1");
return;
}
if (n == 2)
{
printf("1");
return;
}
for (int i = 3;i <=n;i++)
{
int l;
if (lb > la)
l = lb;
else
l = la;
int x = 0;
for (int j = 1;j <= l;j++)
{
c[j] = a[j] + b[j] + x;
x = c[j] / 10;
c[j] = c[j] % 10;
}
while (x > 0)
{
l++;
c[l] += x;
x = c[l] / 10;
c[l] = c[l] % 10;
}
lc = l;
for (int j = 1;j <= lb;j++)
a[j] = b[j];
la = lb;
for (int j = 1;j <= lc;j++)
b[j] = c[j];
lb = lc;
}
for (int j = lc;j >= 1;j--)
printf("%d",c[j]);
}
int main()
{
input_data();
get_ans();
return 0;
}
/**************************************************************
Problem: 1368
User: admin
Language: C
Result: Accepted
Time:15 ms
Memory:1152 kb
****************************************************************/