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.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

 
public class musical{
     
     
     static InputStream is;
     private static byte[] inbuf = new byte[1024];
     static int lenbuf = 0, ptrbuf = 0;
     static String INPUT = "";
     
     public static void main(String args[]) 
    {
            
        is = INPUT.isEmpty() ? System.in : new ByteArrayInputStream(INPUT.getBytes());
        java.io.PrintWriter out = new java.io.PrintWriter(System.out);
         
    
      
      int n,k;
      n=ni();
      k=ni();
      boolean ans[]=new boolean[n+1];
      for(int i=1;i<n;i++)
          ans[i]=false;
      
      out.print(1+" ");
          boolean flag=true;
      for(int i=1;k>0;)
      {
          if(flag)
          {
              i=i+k;
              out.print(i+" ");
              k--;
              ans[i]=true;
              flag=false;
          }
          else
          {
              i=i-k;
              out.print(i+" ");
              k--;
              ans[i]=true;
              flag=true;
          }
          
          
      
      }
        for(int i=2;i<=n;i++)
          if(!ans[i])
              out.print(i+" ");
        out.println();
      
        
         
            out.close();
    
    }
    
     private static int ni()
    {
        int num = 0, b;
        boolean minus = false;
        while((b = readByte()) != -1 && !((b >= '0' && b <= '9')|| b == '-'));
                if(b == '-'){
            minus = true;
            b = readByte();
        }
        while(true){
            if(b >= '0' && b <= '9'){
                num = num * 10 + (b - '0');
            }else{
                return minus ? -num : num;
            }
            b = readByte();
        }
    }
      private static long ln()
            {
                    long num = 0, b;
                    boolean minus = false;
                    while((b = readByte()) != -1 && !((b >= '0' && b <= '9')|| b == '-'));
                    if(b == '-'){
                            minus = true;
                            b = readByte();
                    }
                    while(true){
                            if(b >= '0' && b <= '9'){
                                    num = num * 10 + (b - '0');
                            }else{
                                    return minus ? -num : num;
                            }
                            b = readByte();
                    }
            }
     private static int readByte()
    {
        
        if(ptrbuf >= lenbuf){
            ptrbuf = 0;
            try { lenbuf = is.read(inbuf); } catch (IOException e) { }
            if(lenbuf <= 0)return -1;
        }
        return inbuf[ptrbuf++];
    }
         private static String str()
            {
                    String num="" ;
                    int b;

                    while((b = readByte()) != -1 && !((b >= 'A' && b <= 'Z')));
                            while(true){
                            if(b >= 'A' && b <= 'Z'){
                                    num=num+(char)b;
                            }else{
                                    return num;
                            }
                            b = readByte();
                    }
            }
 
}