#include <bits/stdc++.h>
using namespace std;
struct a{
int num;
int sum;
};
a h(int n,int b){
int ans = 0;
int c = n * n;
while(b % c == 0){
b /= c;
ans+=2;
}
while(b % n == 0){
b /= n;
ans++;
}
a ret;
if(b == 1){
b = 0;
}
ret.sum = ans;
ret.num = b;
return ret;
}
int howmp(int n){
long long ans = 1;
for(int i = 2; n > 0 && i <= n; i++){
if(n % i == 0){
a tmp;
tmp = h(i,n);
n = tmp.num;
tmp.sum++;
ans *= tmp.sum;
}
}
return ans;
}
int main(){
int l,u;
cin >>l >> u;
a ans;
ans.num = -1;
ans.sum = -1;
for(int i = l; i <= u; i++){
int tmp = howmp(i);
if(ans.sum < tmp){
ans.sum = tmp;
ans.num = i;
}
}
cout << "Between "<< l << " and " << u<<", " << ans.num<< " has a maximum of " << ans.sum<<" divisors.";
return 0;
}