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.io.*;
import java.text.DecimalFormat;
import java.util.*;
import java.awt.*;
import java.math.*;



public class Main {

    static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static StringTokenizer st = new StringTokenizer("");

    static String next() throws Exception {

        while (!st.hasMoreTokens()) {
            String s = br.readLine();
            if (s == null) {
                return null;
            }
            st = new StringTokenizer(s);
        }
        return st.nextToken();
    }

    public static void main(String[] asda) throws Exception {

		int N = Integer.parseInt( next() );
		int K = Integer.parseInt( next() );
		
		int [] v = new int [N];
		
		if	( N == 1 )	{
			out.println(1);
			out.flush();
			return;
		}
		
		int M = N - (K + 1);
	//	out.println(M);
		for (int i = 0; i < M; i++)	{
			v[i] = i + 1;
		}
		
	//	out.println( Arrays.toString(v) );
		
		for (int R = N - 1, L = M, i = M; L <= R && i < N; L++, R--, i++)	{
		//	out.println(L + " " + R);
			v[i] = L + 1;
			if	( i + 1 < N )	{
				v[++i] = R + 1;
			}
			
		}
    	
		/*
		for (int i = 1; i < N && K != 0; i++, K--)	{
			
			int aux = v[i];
			v[i] = v[i - 1];
			v[i - 1] = aux;
		}
		*/
		out.print(v[0]);
		for (int i = 1; i < N; i++)
			out.print( " " + v[i] );
		out.println();
		
    	//
        out.flush();
        System.exit(0);
    }
    static long GCD(long a, long b) {
		long t;
		while (b != 0) {
			t = b;
			b = a % b;
			a = t;
		}
		return a;
	}
}





