#include<stdio.h>
#include<stdlib.h>
#define rep(i,n) for(int i=0;(i)<(n);(i)++)
int comp(const void *a,const void *b){
    int c=*(int *)a;
    int d=*(int *)b;
    return c-d;
}
int p[1000000]={0};
int main(void){
    p[0]=p[1]=1;
    for(int i=2;i<=1000;i++){
        if(p[i]==0){
            for(int j=2*i;j<1000000;j+=i)
                p[j]=1;
        }
    }
    while(1){
        int N,P;
        scanf("%d%d",&N,&P);
        if(N+P==-2) break;
        int idx=0; int sosu[200]={0};
        for(int i=N+1;i<1000000;i++){
            if(p[i]==0) sosu[idx++]=i;
            if(idx==2*P) break;
        }
        //rep(i,P) printf("%d ",sosu[i]); puts("");
        int work[100000]={0}; idx=2*P;
        for(int i=0;i<2*P;i++){
            work[i]=2*sosu[i];
        }
        for(int i=0;i<2*P;i++){
            for(int j=i+1;j<2*P;j++){
                work[idx++]=sosu[i]+sosu[j];
            }
        }
        qsort(work,idx,sizeof(int),comp);
        //rep(i,100) printf("%d ",work[i]); puts("");
        printf("%d\n",work[P-1]);
    }
}

