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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

/**
 *
 * @author Aditya Joshi
 * SPOJ / CodeChef / Codeforces / HackerRank / Timus / UVA
 */
public class Main 
{
    private static MyScanner sc;
    private static PrintWriter out;
    public static void main(String[] args)
    {
        sc = new MyScanner();
        out = new PrintWriter(System.out);
        int n = sc.nextInt();
        int k = sc.nextInt();
        StringBuilder answer = new StringBuilder();
        if(k == 1)
        {
            for(int i = 1; i <= n; i++) answer.append(i).append(" ");
            out.println(answer.toString());
        }
        else
        {
            boolean upper = true;
            int diff = n - 1;
            int curr = n;
            answer.append(n).append(" ");
            int init_k = k;
            int cntr = 1;
            while(k-- > 1)
            {
                if(upper)
                {
                    answer.append((curr - diff)).append(" ");
                    curr = (curr - diff--);
                    upper = false;
                }
                else
                {
                    answer.append((curr + diff)).append(" ");
                    curr = (curr + diff--);
                    upper = true;
                }
              
               cntr++;
            }
            if(init_k % 2 == 0)
            {
                while(cntr++ < n) answer.append((++curr)).append(" ");
            }
            else
            {
                while(cntr++ < n) answer.append((--curr)).append(" ");
            }
        out.println(answer.toString());
        }


        out.close();
    }
    
    private static int max(int a, int b)
    {
        if(a > b) return a;
        else return b;
    }

    private static int min(int a, int b)
    {
        if(a < b) return a;
        else return b;

    }
 public static class MyScanner 
    {
      BufferedReader br;
      StringTokenizer st;
 
      public MyScanner() 
      {
         br = new BufferedReader(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());
      }
 
      String nextLine()
      {
          String str = "";
	  try 
          {
	     str = br.readLine();
	  } catch (IOException e) 
          {
	     e.printStackTrace();
	  }
	  return str;
      }

   }
}
