아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Генераторы квадратов

시간 제한1초메모리 제한1024 MB

요약
합이 n인 서로 다른 k개의 자연수 중에서 임의의 k-1개를 더한 값이 모두 완전제곱수가 되는 집합을 찾거나, 존재하지 않음을 판정한다.
난이도

보통10점 중 7점

유형
수학, 정수론, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

Множество A=a_1,a_2,…,a_kA = \\{a\_1, a\_2, \ldots, a\_k\\} различных натуральных чисел с суммой a_1+a_2+…+a_k=na\_1+a\_2+\ldots+a\_k=n называется генератором квадратов, если сумма любых k−1k-1 элементов этого множества является полным квадратом целого числа.

Например, множество 1,22,41,58\\{1, 22, 41, 58\\} является генератором квадратов, так как 1+22+41=64=821 + 22 + 41 = 64 = 8^2, 1+22+58=81=921 + 22 + 58 = 81 = 9^2, 1+41+58=100=1021 + 41 + 58 = 100 = 10^2, 22+41+58=121=11222 + 41 + 58 = 121 = 11^2.

По заданным nn и kk постройте множество из kk различных натуральных чисел с суммой nn, которое является генератором квадратов, либо выясните, что такого нет.

입력

На ввод подаются два целых числа nn и kk (2≤n≤200,0002 \le n \le 200\\,000, 2≤k≤302 \le k \le 30).

출력

Если искомый генератор квадратов существует, выведите <<YES>> на первой строке, а на второй строке выведите kk натуральных чисел --- искомое множество.

Если генератора квадратов с заданными параметрами не существует, выведите <<NO>>.

예제1

  1. 예제 1

    입력
    122 4
    
    예상 출력
    YES
    1 22 41 58