#include <bits/stdc++.h>
#define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++)
using namespace std;
typedef long long ll;

ll K, N;

int main(void) {
  cin >> K >> N;

  if(K % 2 == 0) {
    cout << K / 2;
    REP(i, 1, N) cout << " " << K;
    cout << endl;
  } else {
    vector<ll> ans(N, (K + 1) / 2);
    ll j = 0;
    REP(i, 0, N / 2) {
      if(ans[N - 1 - j] == 0) j++;
      ans[N - 1 - j]--;
      if(j > 0 && ans[N - 1 - j] > 0) for(; j > 0; j--) ans[N - j] = K;
    }
    cout << ans[0];
    REP(i, 1, N) {
      if(ans[i] == 0) break;
      cout << " " << ans[i];
    }
    cout << endl;
  }
}

### Prompt

Create a solution in Cpp for the following problem:

In Finite Encyclopedia of Integer Sequences (FEIS), all integer sequences of lengths between 1 and N (inclusive) consisting of integers between 1 and K (inclusive) are listed.

Let the total number of sequences listed in FEIS be X. Among those sequences, find the (X/2)-th (rounded up to the nearest integer) lexicographically smallest one.

Constraints

* 1 \leq N,K \leq 3 × 10^5
* N and K are integers.

Input

Input is given from Standard Input in the following format:


K N


Output

Print the (X/2)-th (rounded up to the nearest integer) lexicographically smallest sequence listed in FEIS, with spaces in between, where X is the total number of sequences listed in FEIS.

Examples

Input

3 2


Output

2 1


Input

2 4


Output

1 2 2 2


Input

5 14


Output

3 3 3 3 3 3 3 3 3 3 3 3 2 2

### Response

```cpp
#include <bits/stdc++.h>
#define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++)
using namespace std;
typedef long long ll;

ll K, N;

int main(void) {
  cin >> K >> N;

  if(K % 2 == 0) {
    cout << K / 2;
    REP(i, 1, N) cout << " " << K;
    cout << endl;
  } else {
    vector<ll> ans(N, (K + 1) / 2);
    ll j = 0;
    REP(i, 0, N / 2) {
      if(ans[N - 1 - j] == 0) j++;
      ans[N - 1 - j]--;
      if(j > 0 && ans[N - 1 - j] > 0) for(; j > 0; j--) ans[N - j] = K;
    }
    cout << ans[0];
    REP(i, 1, N) {
      if(ans[i] == 0) break;
      cout << " " << ans[i];
    }
    cout << endl;
  }
}

```