Codeforces Round 708 (Div. 2)
C2
k-LCM (hard version)
Codeforces
1600
原题
← C1D →
翻译中…

It is the hard version of the problem. The only difference is that in this version $3 \le k \le n$.

翻译中…

You are given a positive integer $n$. Find $k$ positive integers $a_1, a_2, \ldots, a_k$, such that:

翻译中…
  • $a_1 + a_2 + \ldots + a_k = n$
  • $LCM(a_1, a_2, \ldots, a_k) \le \frac{n}{2}$
翻译中…

Here $LCM$ is the least common multiple of numbers $a_1, a_2, \ldots, a_k$.

翻译中…

We can show that for given constraints the answer always exists.

翻译中…

Input

翻译中…

The first line contains a single integer $t$ $(1 \le t \le 10^4)$  — the number of test cases.

翻译中…

The only line of each test case contains two integers $n$, $k$ ($3 \le n \le 10^9$, $3 \le k \le n$).

翻译中…

It is guaranteed that the sum of $k$ over all test cases does not exceed $10^5$.

翻译中…

Output

翻译中…

For each test case print $k$ positive integers $a_1, a_2, \ldots, a_k$, for which all conditions are satisfied.

翻译中…

样例

Input #1
2
6 4
9 5
Output #1
1 2 2 1
1 3 3 1 1
InputCopy OutputCopy
题目信息
题号
1497C2
时间限制
1 s
内存限制
256 MB
标签
构造
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。