#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
****************************************************************/