#CF1095C. 二的幂

二的幂

C. 二的幂
时间限制:4 秒
内存限制:256 兆字节

如果一个正整数 xx 可以表示为 x=2yx = 2^y,其中 yy 是非负整数,则称 xx2 的幂。因此,2 的幂有 1,2,4,8,16,1, 2, 4, 8, 16, \dots

给定两个正整数 nnkk。你的任务是将 nn 表示为恰好 kk 个 2 的幂之和。


输入
输入的唯一一行包含两个整数 nnkk1n1091 \le n \le 10^91k21051 \le k \le 2 \cdot 10^5)。


输出
如果无法将 nn 表示为 kk 个 2 的幂之和,则输出 "NO"

否则,输出 "YES",然后在下一行输出 kk 个正整数 b1,b2,,bkb_1, b_2, \dots, b_k,使得每个 bib_i 都是 2 的幂,且 i=1kbi=n\sum_{i=1}^k b_i = n。如果有多个答案,输出任意一个即可。


样例
输入

9 4

输出

YES
1 2 2 4 

输入

8 1

输出

YES
8 

输入

5 1

输出

NO

输入

3 7

输出

NO