Permutation p is an ordered set of integers p1, p2, ..., pn, consisting of n distinct positive integers not larger than n. We'll denote as n the length of permutation p1, p2, ..., pn.

Your task is to find such permutation p of length n, that the group of numbers |p1 - p2|, |p2 - p3|, ..., |pn - 1 - pn| has exactly k distinct elements.

Input

The single line of the input contains two space-separated positive integers n, k (1 ≤ k < n ≤ 105).

Output

Print n integers forming the permutation. If there are multiple answers, print any of them.

Examples

Input

3 2


Output

1 3 2


Input

3 1


Output

1 2 3


Input

5 2


Output

1 3 2 4 5

Note

By |x| we denote the absolute value of number x. 
import java.util.Scanner;
import java.util.Iterator;
import java.util.List;
import java.io.OutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
	public static void main(String[] args) {
		InputStream inputStream = System.in;
		OutputStream outputStream = System.out;
		Scanner in = new Scanner(inputStream);
		PrintWriter out = new PrintWriter(outputStream);
		TaskC solver = new TaskC();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskC {
    int divCeil(int x, int y) {
        if (x % y == 0) return x / y;
        else return (x / y + 1);
    }

    List<Integer> interleave(List<Integer> first, List<Integer> second) {
        Iterator<Integer> fi = first.iterator();
        Iterator<Integer> si = second.iterator();

        List<Integer> res = new ArrayList<Integer>();
        do {
            if (fi.hasNext()) {
                res.add(fi.next());
            }
            if (si.hasNext()) {
                res.add(si.next());
            }
        } while (fi.hasNext() || si.hasNext());

        return res;
    }

    void output(List<Integer> res, PrintWriter out) {
        out.print(res.get(0));

        for (int i = 1; i < res.size(); i++) {
            out.print(" ");
            out.print(res.get(i));
        }
    }

    public void solve(int testNumber, Scanner in, PrintWriter out) {
        int n = in.nextInt();
        int k = in.nextInt();

        int rem = k - 1;

        List<Integer> reverse = new ArrayList<Integer>();
        final int last = divCeil(rem, 2);
        //System.err.println("last" + last);

        int end = n;
        int l = last;
        while (l != 0) {
            reverse.add(end);
            l = l - 1;
            end = end - 1;
        }
        //System.err.println(reverse);

        List<Integer> straight = new ArrayList<Integer>();
        int sLast = n - last;

        //System.err.println(n + " " + last);
        //System.err.println(sLast);
        for (int i = 1; i <= sLast; i++) {
            straight.add(i);
        }
        //System.err.println(straight);

        List<Integer> res = null;
        if (rem % 2 == 0) {
             res = interleave(straight, reverse);
        } else {
            res = interleave(reverse, straight);
        }
        output(res, out);
    }
}

