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 dx[] = {-1, 0, 1, 1, 1, 0, -1, -1}, dy[] = {-1, -1, -1, 0, 1, 1, 1, 0};
int cx[] = {1, 1, 2, 2, -1, -1, -2, -2}, cy[] = {2, -2, 1, -1, 2, -2, 1, -1};
template <class T>
int len(const T& c) {
  return (int)c.size();
}
long long stoi(string s) {
  long long n = 0;
  for (__typeof(len(s)) i = 0; i < (len(s)); i++)
    n = (n << 3) + (n << 1) + (s[i] - 48);
  return n;
}
string itos(long long n) {
  if (n == 0) return "0";
  string s;
  while (n) {
    s += (n % 10 + 48);
    n /= 10;
  }
  reverse((s).begin(), (s).end());
  return s;
}
int main() {
  long n, m, p, tt;
  while (cin >> n >> m) {
    long h = m - 1, i;
    map<long, long> make_pair;
    p = m + 1;
    cout << 1 << " ";
    for (i = 1; i <= m; i++) {
      cout << p << " ";
      make_pair[p] = 1;
      if (i % 2 == 1)
        p = fabs(p - h);
      else
        p = p + h;
      h--;
    }
    for (i = 2; i <= n; i++) {
      if (make_pair[i] != 1) cout << i << " ";
    }
    printf("\n");
  }
  return 0;
}
