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. 
#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:64000000")
using namespace std;
multiset<char> shab, perest;
map<int, int> korni;
int a[1000000];
bool used[1005];
vector<int> path;
long long dist[1000];
int kol = 0;
int res = 0;
string s, s1 = "";
int i, j, poss, posg, n = 0, iter, m, z, k, r, pr = 0, maxk = 0, inf = 30000,
                      xf, yf, xs, ys;
int kol1 = 0, kol2 = 0;
long double fact = 1;
unsigned long long Evkl(unsigned long long a, unsigned long long b) {
  if (a < b) swap(a, b);
  int c;
  while (b > 0) {
    a = a % b;
    c = a;
    a = b;
    b = c;
  }
  return a;
}
int main() {
  ifstream input("INPUT.TXT");
  ofstream output("OUTPUT.TXT");
  unsigned long long minim = 1000000000, now, podh1, podh2, i, j, k, x, y, h, w,
                     a, b, c, l, r, kol1, kol2;
  cin >> n >> k;
  for (i = 1; i <= n - k - 1; i++) {
    cout << i << ' ';
  }
  i = n - k;
  j = n;
  while (i <= j) {
    cout << i;
    i++;
    cout << ' ';
    if (j > i) {
      cout << j;
      j--;
      cout << ' ';
    }
  }
  cout << endl;
}
