#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fp(i,x,n) for(ll i=x;i<n;i++)
#define fn(i,x,n) for(ll i=x;i>=n;i--)
#define boost ios_base::sync_with_stdio(false);cin.tie(NULL);
#define f first
#define s second
ll ceil(ll x, ll y)
{
if(!(x % y))
return x/y;
return (x/y)+1;
}
int flag = 0;
vector<ll> V;
void rec(ll x, ll y)
{
if(y > x || y==0 && x > 0)
{
flag = 1;
return;
}
if(y == 0)
return;
ll c = 1;
ll temp;
while(1)
{
temp = pow(2,(ll)log2(x))/c;
if(x-temp >= (y-1))
break;
else
c*=2;
}
V.push_back(temp);
rec(x-temp,y-1);
}
int main()
{
string s;
ll k,n;
cin >> n >> k;
ll n1 = n;
if(n % 2)
{
k--;
n--;
}
if(k > n)
cout << "NO" << endl;
else
{
rec(n,k);
if(flag)
cout << "NO" << endl;
else
{
cout << "YES" << endl;
if(n1%2)
cout << 1 << " ";
fn(i,V.size()-1,0)
cout << V[i] << " ";
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGZwKGkseCxuKSBmb3IobGwgaT14O2k8bjtpKyspCiNkZWZpbmUgZm4oaSx4LG4pIGZvcihsbCBpPXg7aT49bjtpLS0pCiNkZWZpbmUgYm9vc3QgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKTsKI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgcyBzZWNvbmQKCmxsIGNlaWwobGwgeCwgbGwgeSkKewogICAgaWYoISh4ICUgeSkpCiAgICAgICAgcmV0dXJuIHgveTsKICAgIHJldHVybiAoeC95KSsxOwp9CgppbnQgZmxhZyA9IDA7Cgp2ZWN0b3I8bGw+IFY7Cgp2b2lkIHJlYyhsbCB4LCBsbCB5KQp7CgogICAgaWYoeSA+IHggfHwgeT09MCAmJiB4ID4gMCkKICAgICAgICB7CiAgICAgICAgICAgIGZsYWcgPSAxOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgaWYoeSA9PSAwKQogICAgICAgIHJldHVybjsKICAgICAgICAgICAgCiAgICBsbCBjID0gMTsKICAgIGxsIHRlbXA7CiAgICAKICAgIHdoaWxlKDEpICAgIAogICAgICAgIHsKICAgICAgICAgICAgdGVtcCA9IHBvdygyLChsbClsb2cyKHgpKS9jOwogICAgICAgICAgICBpZih4LXRlbXAgPj0gKHktMSkpCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgYyo9MjsKICAgICAgICB9CiAgICAgICAgCiAgICBWLnB1c2hfYmFjayh0ZW1wKTsKICAgIHJlYyh4LXRlbXAseS0xKTsKfQoKaW50IG1haW4oKQp7CiAgICBzdHJpbmcgczsKICAgIAogICAgbGwgayxuOwogICAgCiAgICBjaW4gPj4gbiA+PiBrOwogICAgCiAgICBsbCBuMSA9IG47CiAgICAKICAgIGlmKG4gJSAyKQogICAgewogICAgICAgIGstLTsKICAgICAgICBuLS07CiAgICB9CiAgICAKICAgIGlmKGsgPiBuKQogICAgICAgIGNvdXQgPDwgIk5PIiA8PCBlbmRsOwogICAgZWxzZQogICAgewogICAgICAgIHJlYyhuLGspOwogICAgICAgIGlmKGZsYWcpCiAgICAgICAgICAgIGNvdXQgPDwgIk5PIiA8PCBlbmRsOwogICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dCA8PCAiWUVTIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZihuMSUyKQogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgMSA8PCAiICI7CiAgICAgICAgICAgICAgICBmbihpLFYuc2l6ZSgpLTEsMCkKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IFZbaV0gPDwgIiAiOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0KICAgIH0KfQ==