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. 
/* package joney_000 */

import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.*;

//zee algorithm to find pattern P in the larger text T in O(|S|+|T|)
 public class Main{
    
    
  public static void main(String[] args)throws Exception

    {  
    
    /*  BufferedReader br=new BufferedReader(new FileReader("input.txt"));
        BufferedWriter out=new BufferedWriter(new FileWriter("output.txt"));
    */
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in),2000);
    BufferedWriter out=new BufferedWriter(new OutputStreamWriter(System.out),2000);
    //int tests = Integer.parseInt(br.readLine());
    
    int arr [] =new int[1000005];
    
    //for(int t=0;t<tests ; t++){
        String[] s = br.readLine().split(" ");
        long l = Long.parseLong(s[0]);long r = Long.parseLong(s[1]); 
        int st = 1; int n = (int)l;
        int k = (int)r;
        int end = st+k;
        int temp=end+1;
        //arr[0]=1;
        int check=0;
        for(int i=1;i<=n;i++){
          if(st>n||end<=0||st>end){check=1;break;}
          if(i%2==1){arr[i]=st;st++;}
           else {arr[i]=end;end--;}
        }
        if(check==1){
          for(int i=1;i<=n;i++){
           if(arr[i]==0){
           arr[i]=temp;temp++;
           }
          }
        }
        //long ans = 0;
          for(int i=1;i<=n;i++){
           out.write(""+arr[i]+" ");
          }
          out.flush();
  }   
    public static boolean isPrime(long n)throws Exception{
        if(n==1)return false;
        if(n<=3)return true;
        if(n%2==0)return false;
        for(int i=2 ;i <= Math.sqrt(n); i++){
            if(n%i==0)return false;
        }
        return true;
    }
    public static long gcd(long a, long b)throws Exception{
        if(b==0)return a;
        return gcd(b,a%b);//b must be non zero so base condition on b==0;
    }
    public static long lcm(long a, long b)throws Exception{
        if(a==0||b==0)return 0;
        return a*b/gcd(b,a%b);//b must be non zero so base condition on b==0;
    }
    
    public static long pow(long a,long b,long mod)throws Exception{
    if(b==1)return a%mod;
    if(b==0)return 1;
    long ans=pow(a,b/2,mod);
    ans=(ans*ans)%mod;
    if(b%2!=0)ans=(ans*a)%mod;
    
    return ans;
    }
 } //end of class        
        
