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;
long long gcd(long long a, long long b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
int a[100005];
int mark[100005];
int main() {
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; ++i) a[i] = i + 1;
  if (k == 1) {
    for (int i = 0; i < n; ++i) cout << a[i] << " ";
    cout << endl;
  } else if (k == 2) {
    swap(a[0], a[1]);
    for (int i = 0; i < n; ++i) cout << a[i] << " ";
    cout << endl;
  } else {
    int s = 1;
    int e = n;
    int f = 0;
    int c = 0;
    int pos;
    int t;
    for (int i = 0; i < n; ++i) {
      if (f % 2 == 0) {
        a[i] = s;
        ++s;
      } else {
        a[i] = e;
        --e;
      }
      ++c;
      if (c == k) {
        pos = i;
        break;
      }
      ++f;
    }
    for (int i = pos + 1; i < n; ++i) {
      if (k % 2 == 0) {
        a[i] = e;
        --e;
      } else {
        a[i] = s;
        ++s;
      }
    }
    for (int i = 0; i < n; ++i) cout << a[i] << " ";
    cout << endl;
  }
  return 0;
}
