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;
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) {
  cerr << name << " : " << arg1 << std::endl;
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
  const char* comma = strchr(names + 1, ',');
  cerr.write(names, comma - names) << " : " << arg1 << " | ";
  __f(comma + 1, args...);
}
void oner();
void two();
int arr[100005];
int fin[100005];
int f, b, i;
int main() {
  int n, k, j;
  cin >> n >> k;
  for (j = 0; j < n; j++) {
    arr[j] = j + 1;
    fin[j] = arr[j];
  }
  f = 0;
  b = n - 1, i = 0;
  if (n % 2 == 0 || k != n - 1) k--;
  while (k > 1) {
    two();
    k = k - 2;
  }
  if (k == 1) {
    oner();
    k--;
  }
  for (j = i; j < n; j++) fin[j] = arr[f++];
  for (j = 0; j < n; j++) cout << fin[j] << " ";
  cout << "\n";
  return 0;
}
void two() {
  fin[i] = arr[f];
  i++, f++;
  fin[i] = arr[b];
  b--, i++;
}
void oner() {
  fin[i] = arr[f + 1];
  i++;
  fin[i] = arr[f];
  f += 2;
  i++;
}
