/*
//Q.1558
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int sum = 0;
while(n >= 1)
{
sum = sum + (n % 10);
n = n / 10;
sum = sum * 10;
}
return sum/10;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
/*
//Q.1566
#include <stdio.h>
int a, n;
long long int pow(int a, int n)
{
int i;
long long int sum=1;
if(a==1)
{
return 1;
}
for(i=1;i<=n;i++)
{
sum=sum*a;
}
return sum;
}
int main()
{
scanf("%d%d", &a, &n);
printf("%lld\n", pow(a, n));
}
*/
/*
//Q.1568
#include <stdio.h>
int n, a, b, d[1010];
int maxi(int a, int b)
{
int i, max = d[a], maxi=a;
for(i = a; i <= b; i++)
{
if(d[i] > max)
{
max = d[i];
maxi = i;
}
}
return maxi;
}
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; i++)
scanf("%d", &d[i]);
scanf("%d%d", &a, &b);
printf("%d\n", maxi(a, b));
}
*/
/*
//Q.1570
#include <stdio.h>
int n, k, d[1010];
int lower_bound(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(d[i]>=k)
return i;
}
return n+1;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", lower_bound(k));
}
*/
/*
#include<stdio.h>
int mysum(int n)
{
int sum=0;
while (n > 0)
{
sum = sum + (n % 10); // 마지막 자릿수 더하기
n = n / 10; // 마지막 자릿수 없애기
}
return sum;
}
int main()
{
int n;
scanf("%d", &n);
while (n >= 10)
{
n = mysum(n); // 더한 값을 다시 n에 저장
}
printf("%d",n);
return 0;
}
*/
#include<stdio.h>
int isprime(int n)
{
int i,sum=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
{
sum++;
}
}
if(sum<=2)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int i, M, N, sum = 0, min = N, j;
scanf("%d", &M);
scanf("%d", &N);
for(i = M; i <= N; i++)
{
// i가 소수인지?
if(isprime(i)==1)
{
sum = sum + i;
if(i < min)
{
min = i;
}
}
}
if(sum==0)
{
printf("-1");
}
else
{
printf("%d\n%d", sum, min);
}
return 0;
}