#include #include #include //minimum prime long func(long a){ long result; long i; if(a%2==0) return 2; else{ for(i=3;i<=sqrt(a);i+=2){ if(a%i==0) return i; } } return a; } long max (long a , long b){ long result; (a>b)?(result = a):(result = b); return result; } int main(){ long a,L,H,i,j,prime[100000]; long result,result_prime; int num=0; scanf("%ld %ld",&L,&H); for(a=2;a<=sqrt(H);a++){ if(a==func(a)){ prime[num]=a; num++; } } for(i=num-1;i>=0;i--){ if(prime[i]*prime[i]<=H){ for(a=H/prime[i]*prime[i];a>=max(L,prime[i]*prime[i]);a-=prime[i]){ for(j=0;j