#include<bits/stdc++.h>
using namespace std;
unsigned long long n,l,r;
unsigned long long num[67];
int bit(long long a){
int res=0;
while(a){
a>>=1;
res++;
}
res--;
return res;
}
int main(){
num[1]=1;
for(int i=2;i<=63;i++){
num[i]=num[i-1]<<1;
//cout<<num[i]<<" ";
}
//cout<<endl;
unsigned long long ans=0;
cin>>n>>l>>r;
int len=bit(n);
len++;
unsigned long long maxx=1;
unsigned long long t=0;
for(int i=len;i>=1;i--){
//cout<<i<<endl;
if(n&num[i]){
maxx=num[i]+num[i]-1;
t=num[i];
if(maxx>=l){
if(maxx<=r){
long long y=max(l,t);
ans+=maxx-y+1;
}
else{
long long y=max(l,t);
ans+=r-y+1;
}
}
}
}
cout<<ans;
return 0;
}