#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll Maxn=1e7+7,Mod=666623333;
ll l,r,ans;
bool isprime[Maxn];
int prime[Maxn/3],cnt,phi[Maxn],e[Maxn];
inline void Euler(ll N){
isprime[1]=isprime[0]=1;
for(ll i=2;i<=N;i++){
if(!isprime[i]) prime[++cnt]=i;
for(ll j=1;j<=cnt&&prime[j]*i<=N;j++){
isprime[prime[j]*i]=1;
if(!(i%prime[j])) break;
}
}
}
int main(){
scanf("%lld%lld",&l,&r);
Euler(Maxn-6);
for(ll i=0;i<r-l+1;i++) phi[i]=i+l,e[i]=i+l;
for(ll i=1;i<=cnt&&prime[i]*prime[i]<=r;i++)
for(ll j=ceil(l*1.0/prime[i]);j<=r/prime[i];j++){
phi[j*prime[i]-l]=phi[j*prime[i]-l]/prime[i]*(prime[i]-1);
while(e[j*prime[i]-l]%prime[i]==0) e[j*prime[i]-l]/=prime[i];
}
for(ll i=0;i<r-l+1;i++){
if(e[i]!=1) phi[i]=phi[i]/e[i]*(e[i]-1);
ans=(ans+(i+l-phi[i])%Mod)%Mod;
}
printf("%lld",ans);
return 0;
}