/*#include<stdio.h>
#include<math.h>
long long int n,r,arr[10000]={},result=1;
int main()
{
int i;
scanf("%d %d",&n,&r);
for(i=r+1;i<=n;i++)
{
Pp(i,2);
}
for(i=2;i<=n-r;i++)
{
Pm(i,2);
}
for(i=0;i<10000;i++){
result*=pow(i,arr[i]);
result%=100000007;
}
printf("%lld",result);
return 0;
}
void Pp(int a,int x)
{
if(x>a){return;}
else if(a%x==0){arr[x]++;Pp(a/x,x);}
else{Pp(a,x+1);}
return;
}
void Pm(int a,int x)
{
if(x>a){return;}
else if(a%x==0){arr[x]--;Pm(a/x,x);}
else{Pm(a,x+1);}
return;
}*/
/*
#include<stdio.h>
int memo[10000]={};
int F(int n)
{
if(n<=1){return 1;}
else
{
if(memo[n]!=0){return memo[n];}
else
{
memo[n]=(F(n-1)+F(n-2))%100000007;
return memo[n];
}
}
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",F(n));
}
*/