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>
static const auto INF = std::numeric_limits<int>::max();
int main() {
  int n, k;
  std::cin >> n >> k;
  int K = k;
  if (k == 1) {
    for (int i = 1; i <= n; ++i) {
      std::cout << i << " ";
    }
    std::cout << std::endl;
    return 0;
  }
  std::vector<int> ans;
  std::vector<bool> used(n + 1, false);
  auto x = k + 1;
  std::cout << x << " " << 1;
  used[x] = used[1] = true;
  ans.push_back(x);
  ans.push_back(1);
  x = 1;
  --k;
  for (int t = 0; k >= 2; --k, t ^= 1) {
    int nx;
    if (t) {
      nx = x - k;
    } else {
      nx = x + k;
    }
    ans.push_back(nx);
    std::cout << " " << nx;
    used[nx] = true;
    x = nx;
  }
  for (int i = 1; i <= n; ++i) {
    if (used[i]) {
      continue;
    }
    ans.push_back(i);
    std::cout << " " << i;
  }
  std::cout << std::endl;
  std::set<int> s;
  assert((int)ans.size() == n);
  for (int i = 0; i < (int)ans.size() - 1; ++i) {
    s.insert(abs(ans[i] - ans[i + 1]));
  }
  assert((int)s.size() == K);
}
