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 n, m, x, y, z, k, sol, sum, ans, l, r, xx, yy, a[1000000], b[1000000];
vector<long long> v;
vector<long long> v1;
vector<long long> v2;
pair<long long, pair<long long, long long> > pp[1000000];
pair<long long, long long> p[1000000];
map<long long, long long> ma;
string s1, s2, s;
char c;
int main() {
  cin >> n >> k;
  m = n - 1;
  for (int i = k; i >= 1; i--) {
    v.push_back(i);
  }
  for (int i = 0; i < (m - k); i++) {
    v.push_back(1);
  }
  x = n;
  ma[x] = 1;
  v1.push_back(x);
  for (int i = 0; i < v.size(); i++) {
    while (true) {
      y = abs(v[i] - x);
      z = abs(v[i] + x);
      if (!ma[z] && z > 0 && z <= n) {
        x = z;
        ma[x] = 1;
        v1.push_back(x);
        break;
      } else if (!ma[y] && y > 0 && y <= n) {
        x = y;
        ma[x] = 1;
        v1.push_back(x);
        break;
      }
      v[i]++;
    }
  }
  for (int i = 0; i < n; i++) {
    cout << v1[i] << " ";
  }
  cout << endl;
  return 0;
}
