#include <bits/stdc++.h>
using namespace std;
bool sortbysec(const pair<int, int> &a, const pair<int, int> &b) {
  if (a.first == b.first)
    return a.second > b.second;
  else
    return a.first < b.first;
}
unsigned long long fact(unsigned long long n) {
  if (n == 1 || n == 0)
    return 1;
  else
    return n * fact(n - 1);
}
bool compp(const pair<int, int> &a, const pair<int, int> &b) {
  return a.first > b.first;
}
vector<int> prime(20012, 1);
void preprocessing() {
  prime[0] = 0, prime[1] = 0;
  for (int i = 2; i * i <= 20012; i++) {
    if (prime[i] == 1) {
      for (int j = i * i; j <= 20012; j += i) {
        prime[j] = 0;
      }
    }
  }
  for (int i = 0; i < prime.size(); i++)
    if (prime[i] != 0) prime[i] = i;
  sort(prime.begin(), prime.end());
  vector<int>::iterator r;
  for (auto i = prime.begin(); i != prime.end(); ++i) {
    if (*(i + 1) != 0) {
      r = i + 1;
      break;
    }
  }
  prime.erase(prime.begin(), r);
}
bool cmp(const pair<int, int> &a, const pair<int, int> &b) {
  if (a.first != b.first)
    return a.first > b.first;
  else
    return a.second < b.second;
}
string bin(unsigned long long n) {
  string ans;
  while (n) {
    ans.append(to_string(n % 2));
    n /= 2;
  }
  reverse(ans.begin(), ans.end());
  return ans;
}
unsigned long long gcd(unsigned long long a, unsigned long long b) {
  if (a % b == 0)
    return b;
  else
    return (gcd(b, a % b));
}
bool perf(string s) {
  int cnt = 0;
  for (int i = s.size() - 1; i >= s.size() - 7; i--)
    if (s[i] == '0') cnt++;
  if (cnt == 6)
    return true;
  else
    return false;
}
bool binary(vector<int> v, int k) {
  int lo = 0, hi = v.size() - 1;
  while (lo <= hi) {
    int mid = lo + (hi - lo) / 2;
    if (v[mid] == k)
      return true;
    else if (v[mid] > k)
      hi = mid - 1;
    else
      lo = mid + 1;
  }
  return false;
}
int main() {
  ios_base::sync_with_stdio(0);
  cout.tie(0);
  cin.tie(0);
  int n, m, i = 0, t = 1, p = 0, t1 = 1;
  cin >> n >> m;
  if (m % 2) {
    for (int i = 0; i < n; i++) {
      if (p == 0)
        cout << ceil(m / 2.0) << endl, p++;
      else if (p == 1) {
        if (ceil(m / 2.0) - t > 0)
          cout << ceil(m / 2.0) - t << endl, p++;
        else
          cout << ceil(m / 2.0) << endl, t = 1;
      } else {
        if (ceil(m / 2.0) - t > 0)
          cout << ceil(m / 2.0) + t++ << endl, p--;
        else
          cout << ceil(m / 2.0) << endl, t = 1, p--;
      }
    }
  } else {
    for (int i = 0; i < n; i++) {
      if (p == 0)
        cout << ceil(m / 2.0) << endl, p++;
      else if (p == 1)
        cout << ceil(m / 2.0) + 1 << endl, p++;
      else if (p == 2) {
        if (ceil(m / 2.0) - t > 0)
          cout << ceil(m / 2.0) - t << endl, p++;
        else
          cout << ceil(m / 2.0) << endl, t = 1, p = 1;
      } else {
        if (ceil(m / 2.0) - t > 0)
          cout << ceil(m / 2.0) + 1 + t++ << endl, p--;
        else
          cout << ceil(m / 2.0) << endl, t = 1, p--;
      }
    }
  }
  return 0;
}
