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.awt.Point;
import java.awt.geom.AffineTransform;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.StringTokenizer;

public class Main {
    static FastReader in = new FastReader(new BufferedReader(new InputStreamReader(System.in)));
    static PrintWriter out = new PrintWriter (System.out);
    static int maxn = (int)1e3 + 111;
    static int inf = (1<<30)-1;
    static int n,k;
    static int a[] = new int [maxn];
    static ArrayList<Integer> list = new ArrayList<>();
    static boolean ok;
    
    public static void main (String [] args) throws Exception {
        
         n = in.nextInt();           
         k = in.nextInt();
         int left = 1;
         int right = n;
         
         for (int i=1; i<=k; i++) {
             if (!ok)
                 list.add(left++);
             else
                 list.add(right--);
             ok = !ok;
         }
         
         if (k%2==0) {
             for (int i=right; i>=left; i--) {
                 list.add(i);
             }
         } else {
             for (int i=left; i<=right; i++) {
                 list.add(i);
             }
         }

        for (int i=0; i<n; i++) { 
            out.print(list.get(i) + " ");
        }
        
        out.close();
    }
}

class Pair {
    int l,r;
    public Pair (int l, int r) {
        this.l = l;
        this.r = r;
    }
}



class FastReader {
    BufferedReader bf;
    StringTokenizer tk;
    
    public FastReader(BufferedReader bf) {
        this.bf = bf;
    }
    
    public String nextToken() throws Exception {
        if (tk==null || !tk.hasMoreTokens()) {
            tk = new StringTokenizer(bf.readLine(), " ");
        }
        return tk.nextToken();
    }
    
    public int nextInt() throws Exception {
        return Integer.parseInt(nextToken());
    }
    
    public long nextLong() throws Exception {
        return Long.parseLong(nextToken());
    }
    
    public double nextDouble() throws Exception {
        return Double.parseDouble(nextToken());
    }
    
}