#include <stdio.h>
#include <stdlib.h>
#define max 100501
int c(const void *v1,const void *v2){
    return *(int *)v1-*(int *)v2;
}
int prime[max];
void setprime(void){
    int i,j;
    prime[0]=1;prime[1]=1;
    for(i=4;i<=max;i+=2){
        prime[i]=1;
    }
    for(i=3;i*i<=max;i+=2){
        if(!prime[i]){
            for(j=i*2;j<=max;j+=i)
                prime[j]=1;
        }
    }
}
int main(void){
    int n,p,i,o,map[1001],t,r,s;
    setprime();
    for(;scanf("%d %d",&n,&p),n!=-1;){
        for(s=0,r=0,i=n+1;s!=11;i++){
            if(!prime[i]){
                s++;
                for(t=0,o=i;t!=101;o++)
                    if(!prime[o]){
                        t++;
                        map[r++]=i+o;
                    }
            }
        }
        qsort(map,1000,sizeof(int),c);
        printf("%d\n",map[p-1]);
    }
    return 0;
}