#include <bits/stdc++.h>
#define
using namespace std;
typedef long long ll;
ll a, b; bool ok = 0; int p, cnt, ans[A];
int main(int argc, char const *argv[]) {
cin >> a >> b; ll lim = (a + b) * 2;
for (ll i = 1; i <= sqrt(lim); i++)
if (i * (i + 1) == lim) {p = i; ok = 1; break;}
if (!ok) return puts("No"), 0;
cout << p << " ";
for (int i = p; i >= 1; i--) {
if (!a) break;
if (a >= i) a -= i, ans[++cnt] = i;
}
for (int i = cnt; i >= 1; i--) i == 1 ? cout << ans[i] << endl : cout << ans[i] << " ";
return 0;
}