#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

int main(){
	int n,k;
	scanf("%d %d",&n,&k);
	int flag_top=0;//0:4を出力、1:3を出力
	int flag_bottom=0;//0:1を出力、1:2を出力
	int flag_top_or_bottom=1;//1:上を出力,0:下を出力
	int i=0;
	int suretu[n];
	
	suretu[0]=3;suretu[1]=2;
	for(i=0;i<n-2-k;i++){
		if(flag_top_or_bottom){//上を出力
			if(flag_top){
				suretu[i+2]=3;
				flag_top=0;
			}else{
				suretu[i+2]=4;
				flag_top=1;
			}
			flag_top_or_bottom=0;
		}else if(!flag_top_or_bottom){//下を出力
			if(flag_bottom){
				suretu[i+2]=2;
				flag_bottom=0;
			}else{
				suretu[i+2]=1;
				flag_bottom=1;
			}
			flag_top_or_bottom=1;
		}
		//puts("pass");
	}
	
	for(i=n-k;i<n;i++){
		suretu[i]=suretu[n-k-1];
		//puts("pass2");
	}
	
	for(i=0;i<n;i++){
		printf("%d ",suretu[i]);
	}puts("");
	
    return 0;
}