#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+10;
bool st[N];
bool stt[N];
int primes[N];
int cnt=0;
void getprime(int x){
for(int i=2;i<=x;i++){
if(!st[i]) primes[cnt++]=i;
for(int j=0;primes[j]<=x/i;j++){
st[primes[j]*i]=true;
if(i%primes[j]==0) break;
}
}
}
int main(){
getprime(100000);
ll l,r;
while(scanf("%lld%lld",&l,&r)!=EOF){
memset(stt,false,sizeof stt);
for(int j=0;j<cnt;j++){
for(int i=ceil((double)l/primes[j]);i<=floor((double)r/primes[j]);i++){
if(i==1||i==0) continue;
stt[i*primes[j]-l]=true;
}
}
ll pre=0;
ll mn=1e9;
ll mx=0;
ll mn1,mn2,mx1,mx2;
for(ll i=l;i<=r;i++){
if(stt[i-l]||i==1){
continue;
}
if(!pre) pre=i;
else{
if(i-pre<mn){
mn=i-pre;
mn1=pre;mn2=i;
}
if(i-pre>mx){
mx=i-pre;
mx1=pre;mx2=i;
}
pre=i;
}
}
if(mx) printf("%d,%d are closest, %d,%d are most distant.\n",mn1,mn2,mx1,mx2);
else printf("There are no adjacent primes.\n");
}
return 0;
}