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.Stack;
import java.util.Queue;
import java.util.ArrayDeque;
import java.util.HashSet;
import java.util.HashMap;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.StringTokenizer;
import java.util.ArrayList;

public class DiversePermutation
{

    // ----------------------------------------------------------
    /**
     * Place a description of your method here.
     *
     * @param args
     */
    public static void main(String[] args)
    {
        Scanner in = new Scanner();
        int n = in.nextInt();
        int k = in.nextInt();
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(1);

        for (int i = 1; i < k+1; i++)
        {
            if (i % 2 == 1)
            {
                list.add(list.get(i - 1) + (k+1- i));
            }
            else
            {
                list.add(list.get(i - 1) - (k+1 - i));
            }
        }

        for(int j = k+1; j<n;j++) {
            list.add(j+1);
        }

        // 6 5
        // 1 6 2 5 3 4
        for (int j = 0; j < list.size(); j++)
        {
            System.out.print(list.get(j) + " ");
        }

    }


    public static class Scanner
    {
        BufferedReader  br;
        StringTokenizer st;


        public Scanner(Reader in)
        {
            br = new BufferedReader(in);
        }


        public Scanner()
        {
            this(new InputStreamReader(System.in));
        }


        String next()
        {
            while (st == null || !st.hasMoreElements())
            {
                try
                {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }


        int nextInt()
        {
            return Integer.parseInt(next());
        }


        long nextLong()
        {
            return Long.parseLong(next());
        }


        double nextDouble()
        {
            return Double.parseDouble(next());
        }


        // Slightly different from java.util.Scanner.nextLine(),
        // which returns any remaining characters in current line,
        // if any.
        String readNextLine()
        {
            String str = "";
            try
            {
                str = br.readLine();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            return str;
        }
    }
}
