import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] arr = new int[n];

        // 1. 填充最大的k个数到偶数位置(0, 2, 4, ...)
        int largeNum = n - k + 1; // 最大数的起始值(如n=5,k=2时,起始为4)
        for (int i = 0; i < k; i++) {
            int pos = 2 * i; // 第i个最大数的目标偶数位置
            if (pos >= n) break; // 位置超出数组长度,停止放置
            arr[pos] = largeNum++;
        }

        // 2. 填充剩余的小数到所有未被占用的位置
        int smallNum = n - k; // 小数的起始值(如n=5,k=2时,起始为3)
        for (int i = 0; i < n; i++) {
            // 检查当前位置是否已被最大数占用(即是否是有效的偶数位置)
            int idx = i / 2; // 若i是偶数位置,idx为0,1,...k-1
            boolean isLargePos = (i == 2 * idx) && (idx < k) && (2 * idx < n);
            if (!isLargePos) { // 未被占用,填充小数
                arr[i] = smallNum--;
            }
        }

        // 输出结果
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}