//package putka1.aita;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Scanner;
import java.util.TreeSet;
/**
*
* @author Adreno
*/
public class Putka1Aita {
public static int n;
public static int k;
public static StringBuilder j;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
n = input.nextInt();
k = input.nextInt();
j = new StringBuilder("");
HashSet<Integer> keskiVasen = new HashSet<>();
HashSet<Integer> keskiOikea = new HashSet<>();
int v = (n/2) + 1 - (k+1) / 2;
int o = v + k;
double middlePoint = 1.00 * n / 2 + 1;
//System.out.println("midd" + middlePoint);
for (int i=v+1; i<middlePoint; i++) {
keskiVasen.add(i);
//System.out.println("Lisätään keskivasempaan " + i);
}
int ekaOikeal = n/2 + 1;
if (n % 2 != 0) ekaOikeal++;
for (int i=ekaOikeal; i<o; i++) {
keskiOikea.add(i);
//System.out.println("Lisätään keskioikeaan " + i);
}
//System.out.println("v=" + v + ", o=" + o);
int count = 0;
boolean oikealtaVasemmalle = true;
int viimesin = o; // jotta ensimmäinen siirto ois v
while (true) {
if (oikealtaVasemmalle) {
if (keskiVasen.remove(viimesin-k)) {
j.append((viimesin-k) + " ");
viimesin = viimesin-k;
} else {
if (v < 1) break;
j.append(v + " ");
viimesin = v;
v--;
}
oikealtaVasemmalle = false;
} else {
if (keskiOikea.remove(viimesin+k)) {
j.append((viimesin+k) + " ");
viimesin = viimesin+k;
}
else {
if (o > n) break;
j.append(o + " ");
viimesin = o;
o++;
}
oikealtaVasemmalle = true;
}
//System.out.println("SB: " + j);
count++;
}
if (n % 2 != 0 && (viimesin - (n/2 + 1) >= k)) {
j.append(n/2 + 1);
count++;
}
if (count == n) System.out.println(j);
else {
v = n - k;
o = n;
j = new StringBuilder();
count = 0;
oikealtaVasemmalle = true;
while (true) {
if (oikealtaVasemmalle) {
if (v < 1) break;
j.append(v + " ");
v--;
oikealtaVasemmalle = false;
} else {
j.append(o + " ");
o--;
oikealtaVasemmalle = true;
}
count++;
}
if (count == n) System.out.println(j);
else System.out.println("QAQ");
}
}
}
// public static void main(String[] args) {
// Scanner input = new Scanner(System.in);
// int n = input.nextInt();
// int k = input.nextInt();
// StringBuilder j = new StringBuilder("");
// int alottaja = k;
// int nykyinen = k;
// int count = 0;
// while (alottaja < 1+k) {
// while (nykyinen <= n) {
// j.append(nykyinen + " ");
// nykyinen += k;
// count++;
// }
// alottaja++;
// nykyinen = alottaja;
// }
// alottaja = k;
// while (alottaja > 1) {
// alottaja--;
// nykyinen = alottaja;
// while (nykyinen <= n) {
// j.append(nykyinen + " ");
// nykyinen += k;
// count++;
// }
// }
// if (count < n) System.out.println("QAQ");
// else System.out.println(j);
// }