import java.util.LinkedHashMap;
import java.util.Scanner;
public class 素数之和 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = 0;
int num = 0;
//使用LinkedHashMap 存放素数和,因为LinkedHashMap 是有序可重复的
LinkedHashMap linkedHashMap = new LinkedHashMap();
//num是LinkedHashMap 键值,通过键值将素数和put到集合中。
linkedHashMap.put(num,abs(sum,n));
//while循环判断输入0循环结束也就是输入结束
while (n!=0){
int count = scanner.nextInt();
n = count;
num++;//第二个输入开始键值加一
linkedHashMap.put(num,abs(sum,n));
}
for (int i=0;i<num;i++)
System.out.println(linkedHashMap.get(i));
}
//判断一个数是否为素数
public static boolean abc(int n){
if(n==1){
return false;
}else {
for (int i=2;i<n;i++){
if(n%i==0){
return false;
}
}
}
return true;
}
//调用函数abc判断1到n的素数,并求和。这个函数可以写在主函数中,写函数是为了方便理解
public static int abs(int sum,int n){
if(n==2){
sum +=2;
}else{
for (int i=1;i<=n;i++){
if(abc(i)){
sum = sum+i;
}
}
}
return sum;
}
}