import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
List<Integer> list = new ArrayList<>();
int m = in.nextInt();
int n = in.nextInt();
int sum = 0;
for(int i=m; i<=n; i++) {
if(isPrime(i)) list.add(i);
}
if(list.size()==0) {
System.out.println(-1);
} else {
int min = list.get(0);
int count = 0;
for (int i=0; i<list.size(); i++) {
count += list.get(i);
if(list.get(i)<min) min = list.get(i);
}
System.out.println(count);
System.out.println(min);
}
}
static boolean isPrime(int Number) {
if(Number == 1){
return false;
}
for(int i = 2; i <= Math.sqrt(Number); i++) {
if(Number % i == 0) return false;
}
return true;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] list = new int[10000];
int m = in.nextInt();
int n = in.nextInt();
int cnt = 0;
for(int i=m; i<=n; i++) {
if(isPrime(i)) {
list[cnt] = i;
cnt++;
}
}
if(list[0]==0) {
System.out.println(-1);
} else {
int min = list[0];
int count = 0;
for (int i=0; i<list.length; i++) {
count += list[i];
if(list[i]<min && list[i]!=0) min = list[i];
}
System.out.println(count);
System.out.println(min);
}
}
static boolean isPrime(int Number) {
if(Number == 1){
return false;
}
for(int i = 2; i <= Math.sqrt(Number); i++) {
if(Number % i == 0) return false;
}
return true;
}
}
배열 생성할 때 n이 최대니까 배열 사이즈를 n+1로 해도 될듯..