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.*;
import java.io.*;
import java.math.*;
import java.awt.geom.*;
public class DiversePerms{
    public static void main(String[] args) {
      MyScanner sc=new MyScanner();
      int n=sc.ni(), k=sc.ni();
      if(k==1){
        for(int i=1;i<=n;i++)
          System.out.print(i+" ");
        System.exit(0);
      }
      int arr[]=new int[n];
      int st=1, end=n;
      for(int i=0;i<n;i++){
        if(i%2==1) arr[i]=end--;
        else arr[i]=st++;
      }
      HashSet<Integer> hs=new HashSet<>();
      int ending=-1;
      for(int i=0;i<k;i++){
        System.out.print(arr[i]+" ");
        hs.add(arr[i]);
        ending*=-1;
      }
      if(ending==-1){
        for(int i=n;i>=1;i--)
          if(!hs.contains(i))
            System.out.print(i+" ");
      }
      else{
       for(int i=1;i<=n;i++)
          if(!hs.contains(i))
            System.out.print(i+" "); 
      }
  }
    private 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 ni() {
          return Integer.parseInt(next());
      }
      float nf() {
        return Float.parseFloat(next());
      }
      long nl() {
          return Long.parseLong(next());
      }

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

      String nextLine(){
          String str = "";
    try {
       str = br.readLine();
    } catch (IOException e) {
       e.printStackTrace();
    }
    return str;
      }
   }
}