#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define rep0(i,n) for(register int i=0;i<n;i++)
#define rep1(i,n) for(register int i=1;i<=n;i++)
#define rep(i,j,n) for(register int i=9;i<n;i++)
const int N=1e6+5;
LL pri[N],cnt,phi[N],A[N],ans;
bool vis[N];
const int MOD=666623333;
void prime(){
for(int i=2;i<=N-10;i++){
if(!vis[i])
pri[cnt++]=i;
for(int j=1;j<=cnt && i*pri[j]<=N-10;j++){
vis[pri[j]*i]=1;
if(!(i%pri[j]))
break;
}
}
}
int main()
{
LL l,r;
prime();
scanf("%lld%lld",&l,&r);
for(LL i=l;i<=r;i++){
phi[i-l]=i;
A[i-l]=i;
}
for(int i=1;i<=cnt && pri[i]*pri[i]<=r;i++){
LL pr=pri[i];
int start=l;
if(l%pr)
start=l/pr*pr+pr;
for(LL j=start;j<=r;j+=pr){
phi[j-l]=phi[j-l]/pr*(pr-1);
while(A[j-1]%pr==0)
A[j-1]/=pr;
}
}
for(LL i=l;i<=r;i++){
if(A[i-l]>1)
phi[i-l]/A[i-l]*(A[i-l]-1);
ans=(ans+(i-phi[i-1])%MOD)%MOD;
}
printf("%lld\n",ans);
return 0;
}