#include<stdio.h>
#include<math.h>

int prime(int);
void bubbleSort(int *,int);

int main(){
  int i,j,k,l,m,n;
  int N,P;
  int count=0;
  int ans[200000];
  int res[101000];
  
  while(1){
    i=1;
    j=0;
    count=0;
  
    scanf("%d %d",&N,&P);
    if(N==-1&&P==-1) break;

    while(1){
      if(j>=P) break;
      if(prime(N+i)==1){
	ans[j]=N+i;
	j++;
      }
      i++;
    }
    
    for(k=0;k<j;k++){
      for(l=k;l<j;l++){
	res[count]=ans[k]+ans[l];
	count++;
      }
    }
    
    bubbleSort(res,count);
    // for(i=0;i<count;i++)printf("%d\n",res[i]);
    printf("%d\n",res[P-1]);
  } 
  
  return 0;
}

int prime(int x){
  int i=3;

  if(x==2) return 1;

  if(x%2==0||x<2) return 0;

  while(i<=sqrt(x)){
    if(x%i==0) return 0;
    i+=2;
  }

  return 1;
}

void bubbleSort(int A[],int N){
  int i=0,j;
  int sw;
  int flag=1;

  while(flag){
    flag=0;
    for(j=N-1;j>=i+1;j--){
      if(A[j]<A[j-1]){
	sw=A[j];
	A[j]=A[j-1];
	A[j-1]=sw;
	flag=1;
      }
    }
  }
}