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;
#pragma comment(linker, "/STACK:36777216")
long long EPS = 1000000007;
double PI = 3.14159265358979323846;
const int MAXN = 1000010;
long long abss(long long h) {
  if (h < 0) {
    return -h;
  }
  return h;
}
double fabss(double h) {
  if (h < 0.0) {
    return -h;
  }
  return h;
}
long long ceill(long long x, long long y) {
  if (x % y != 0) {
    return (x / y) + 1;
  }
  return x / y;
}
int n, m, k;
int a[MAXN];
int b[MAXN];
int c[MAXN];
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    a[i] = i + 1;
  }
  sort(a, a + n);
  if (k == 1) {
    for (int i = 0; i < n; i++) {
      cout << a[i] << " ";
    }
    return 0;
  }
  int i = 0;
  int index = n - 1;
  int c = 0;
  while (k > 1) {
    if (c == 0) {
      cout << a[i];
      i++;
      c = 1;
    } else {
      cout << a[index];
      index--;
      c = 0;
    }
    cout << " ";
    k--;
  }
  if (c == 0) {
    for (int z = i; z <= index; z++) {
      cout << a[z] << " ";
    }
  } else {
    for (int z = index; z >= i; z--) {
      cout << a[z] << " ";
    }
  }
}
