#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;

bool num[1000000];

void prime(){
	num[0] = false;
	num[1] = false;
	for(int i = 2; i < 1000000; i++) num[i] = true;
	for(int i = 2; i < 1000; i++){
		if(!num[i]) continue;
		for(int j = 2*i; j < 1000000; j += i) num[j] = false;
	}
}

int main(){
	prime();
	int n,p;
	while(scanf("%d%d", &n, &p)){
		vector<int> v,vec;
		if(n == -1 && p == -1) break;
		for(int i = n+1; i < 1000000; i++){
			if(num[i]) v.push_back(i);
			if(v.size() == p) break;
		}
		for(int i = 0; i < p; i++){
			for(int j = i; j < p; j++){
				vec.push_back(v[i]+v[j]);
			}
		}
		sort(vec.begin(),vec.end());
		printf("%d\n", vec[p-1]);
	}
}