#include "stdio.h"
#define maxn 100000000
int s[maxn],index[maxn],visited[maxn],count=0;

void solve(int n,int m,int level,int a,int b)
{
	int i,len;
	if(m==level){
		len=a+b;
		for(i=0;i<m;i++){
			len+=s[index[i]];
		}
		//printf("%d\n",len);
		if(!visited[len]){
			count++;visited[len]=1;}
	}
	else{
		for(i=index[level-1]+1;i<n;i++){
			index[level]=i;
			solve(n,m,level+1,a,b);
		}
	}
}

int main(){
	int n,a,b,i,k;
	scanf("%d%d%d",&n,&a,&b);
	if (a>b||n==1)
	{
		printf("0");
	}else if(a==b){
		printf("1");
	}else{
	int N=(n-2)*(b-a+1),M=n-2;//在N个字符中挑M个字符
	//printf("在%d个字符里挑%d个字符\n",N,M);
	//设置字符数组
	for(k=a;k<=b;k++){
	for (i=0;i<n-2;i++)
	{
		s[i]=k;
		//printf("%d",s[i]);
	}
	}
	for(i=0;i<N;i++){
		index[0]=i;
		solve(N,M,1,a,b);
	}
	printf("%d",count);
	}
	return 0;
}