#P1157D. N Problems During K Days

    ID: 4749 Type: RemoteJudge 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>constructive algorithmsgreedymath*1900

N Problems During K Days

No submission language available for this problem.

Description

Polycarp has to solve exactly nn problems to improve his programming skill before an important programming competition. But this competition will be held very soon, most precisely, it will start in kk days. It means that Polycarp has exactly kk days for training!

Polycarp doesn't want to procrastinate, so he wants to solve at least one problem during each of kk days. He also doesn't want to overwork, so if he solves xx problems during some day, he should solve no more than 2x2x problems during the next day. And, at last, he wants to improve his skill, so if he solves xx problems during some day, he should solve at least x+1x+1 problem during the next day.

More formally: let [a1,a2,,ak][a_1, a_2, \dots, a_k] be the array of numbers of problems solved by Polycarp. The ii-th element of this array is the number of problems Polycarp solves during the ii-th day of his training. Then the following conditions must be satisfied:

  • sum of all aia_i for ii from 11 to kk should be nn;
  • aia_i should be greater than zero for each ii from 11 to kk;
  • the condition ai<ai+12aia_i < a_{i + 1} \le 2 a_i should be satisfied for each ii from 11 to k1k-1.

Your problem is to find any array aa of length kk satisfying the conditions above or say that it is impossible to do it.

The first line of the input contains two integers nn and kk (1n109,1k1051 \le n \le 10^9, 1 \le k \le 10^5) — the number of problems Polycarp wants to solve and the number of days Polycarp wants to train.

If it is impossible to find any array aa of length kk satisfying Polycarp's rules of training, print "NO" in the first line.

Otherwise print "YES" in the first line, then print kk integers a1,a2,,aka_1, a_2, \dots, a_k in the second line, where aia_i should be the number of problems Polycarp should solve during the ii-th day. If there are multiple answers, you can print any.

Input

The first line of the input contains two integers nn and kk (1n109,1k1051 \le n \le 10^9, 1 \le k \le 10^5) — the number of problems Polycarp wants to solve and the number of days Polycarp wants to train.

Output

If it is impossible to find any array aa of length kk satisfying Polycarp's rules of training, print "NO" in the first line.

Otherwise print "YES" in the first line, then print kk integers a1,a2,,aka_1, a_2, \dots, a_k in the second line, where aia_i should be the number of problems Polycarp should solve during the ii-th day. If there are multiple answers, you can print any.

Samples

Sample Input 1

26 6

Sample Output 1

YES
1 2 4 5 6 8

Sample Input 2

8 3

Sample Output 2

NO

Sample Input 3

1 1

Sample Output 3

YES
1

Sample Input 4

9 4

Sample Output 4

NO