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>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  vector<int> diffs(k);
  vector<int> vec_nums(n);
  int curr_diff = k;
  for (int i = 0; i < k; i++) {
    diffs[i] = curr_diff--;
  }
  for (int i = 0; i < n; i++) {
    vec_nums[i] = i + 1;
  }
  set<int> nums(vec_nums.begin(), vec_nums.end());
  cout << 1 << " ";
  nums.erase(1);
  int curr = 1;
  int flag = 0;
  for (int i = 0; i < k; i++) {
    if (flag == 0 && nums.find(curr + k - i) != nums.end()) {
      cout << curr + k - i << " ";
      nums.erase(curr + k - i);
      curr = curr + k - i;
      flag = 1;
      continue;
    }
    if (flag == 1 && nums.find(curr + i - k) != nums.end()) {
      cout << curr + i - k << " ";
      nums.erase(curr + i - k);
      curr = curr + i - k;
      flag = 0;
    }
  }
  set<int>::iterator it;
  for (it = nums.begin(); it != nums.end(); it++) {
    cout << *it << " ";
  }
}
