import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Divisors {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String[] s = r.readLine().split(" ");
int I = Integer.parseInt(s[0]);
int J = Integer.parseInt(s[1]);
List[] divs = div(J);
double minTriv = Double.POSITIVE_INFINITY;
int min = -1;
for(int i = I; i <= J; i++) {
int sum = 0;
@SuppressWarnings("unchecked")
List<Integer> d = divs[i];
for(int di : d) {
sum += di;
}
double triv = sum / i;
if(triv < minTriv) {
minTriv = triv;
min = i;
}
}
System.out.println(min);
}
@SuppressWarnings("unchecked")
private static List[] div(int j) {
List[] divisors = new List[j + 1];
for(int d = 1; d <= j; d++) {
int c = 2;
int mul;
while((mul = c * d) <= j) {
if(divisors[mul] == null) {
divisors[mul] = new ArrayList();
}
divisors[mul].add(d);
c++;
}
}
return divisors;
}
}
Comments