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.

-----Sample Input-----
3 2

-----Sample Output-----
2 1 

There are 12 sequences listed in FEIS: (1),(1,1),(1,2),(1,3),(2),(2,1),(2,2),(2,3),(3),(3,1),(3,2),(3,3).
The (12/2 = 6)-th lexicographically smallest one among them is (2,1).

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

ns = {"__name__": "__main__"}
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = '# coding: utf-8\n# Your code here!\nimport sys\nread = sys.stdin.read\nreadline = sys.stdin.readline\nsys.setrecursionlimit(10**5)\n\nk,n = list(map(int, read().split()))\n\nif k%2==0:\n    print((*([k//2]+[k]*(n-1))))\n    return\n\nif k==1:\n    print((*[1]*((n+1)//2)))\n    return\n\nans = [(k+1)//2]*n\nd = 0\ndef f(k,i,d):\n    # d <= 1+k+...+k^i?\n    v = 1\n    for j in range(i):\n        v *= k\n        v += 1\n        if v > d: return True\n    return False\n\ndef g(k,i):\n    # 1+k+...+k^i\n    v = 1\n    for j in range(i):\n        v *= k\n        v += 1\n    return v\n    \nfor i in range(1,n):\n    if f(k,n-i-1,d):\n        d += 1\n        continue\n    """\n    以下\u3000300000 >= d >= 1+k+...+k^(n-i-1)\n    i 番目の項から真ん中にならない    \n    v 番目を目指す\n    """\n    v = (g(k,n-i)+d+1)//2 - d - 1\n    \n    for j in range(i,n):\n        #print(v)\n        if v==0:\n            ans[j] = 0\n            continue\n\n        p = g(k,n-j-1)\n        q = (v-1)//p \n        #print(v,j,p,q)\n        \n        ans[j] = q+1\n        v -= 1+q*p        \n\n\n\n    \n    break\n\n\nwhile ans[-1]==0:\n    ans.pop()\nprint((*ans))\n\n\n\n\n\n\n\n'
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

```

Measured memory_bytes: