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>
template <class T>
T gcd(T a, T b) {
  T r;
  while (b != 0) {
    r = a % b;
    a = b;
    b = r;
  }
  return a;
}
template <class T>
T lcm(T a, T b) {
  return a / gcd(a, b) * b;
}
template <class T>
T sqr(T x) {
  return x * x;
}
template <class T>
T cube(T x) {
  return x * x * x;
}
template <class T>
inline void Mini(T &x, T y) {
  x = max((x), (y));
}
template <class T>
inline void Maxi(T &x, T y) {
  x = min((x), (y));
}
using namespace std;
int prime(int n) {
  for (int i = 2; i * i <= n; i++)
    if (n % i == 0) return 0;
  return 1;
}
void InitPrime() {
  int pr[100005];
  fill(pr + 1, pr + 1001, 1);
  pr[1] = 0;
  for (int i = 2; i <= 1000; i++)
    if (pr[i])
      for (int j = i + i; j <= 1000; j += i) pr[j] = 0;
}
void AddMOD(int &x, int y) {
  x += y;
  if (x >= 10000000005) x -= 10000000005;
}
const int base = 131;
const long long MM = 1ll * 10000000005 * 10000000005;
const int oo = 0x3f3f3f3f;
const long long INF = 0x3f3f3f3f3f3f3f3f;
long long n, k;
int main() {
  bool fl;
  cin >> n >> k;
  if (k == 1) {
    for (int i = 1; i <= n; i++) cout << i << " ";
    return 0;
  }
  int a = 1, b = k + 1;
  while (a < b) {
    cout << a << " " << b << " ";
    a++, b--;
  }
  if (a == b) cout << a << " ";
  for (int i = 2 + k; i <= n; i++) cout << i << " ";
}
