수열의 합

N과 최소 길이 L이 주어질 때 합이 N이 되는 연속된 비음수 정수 수열 중 가장 짧은 것을 찾고, 길이가 100을 넘거나 존재하지 않으면 -1을 출력합니다.

쉬움3수학완전 탐색시뮬레이션면접 대비아직 제출이 없습니다시간 제한2초메모리 제한128 MB

문제

두 정수 NNLL이 주어진다. 합이 정확히 NN이고 길이가 LL 이상인 '연속된 음이 아닌 정수들의 리스트' 중에서 길이가 가장 짧은 것을 찾는 프로그램을 작성하시오.

구체적으로, 어떤 정수 a0a \ge 0과 길이 kk에 대해 리스트가 a, a+1, a+2, , a+k1a,\ a+1,\ a+2,\ \dots,\ a+k-1 꼴일 때, 그 합이 NN과 같고 원소의 개수 kkLL 이상이어야 한다. 이러한 리스트 중 길이가 가장 짧은 것을 구한다.

입력

첫째 줄에 NNLL이 공백으로 구분되어 주어진다. NN1N1,000,000,0001 \le N \le 1{,}000{,}000{,}000인 자연수이고, LL2L1002 \le L \le 100인 자연수이다.

출력

조건을 만족하는 가장 짧은 리스트의 길이가 100100 이하이면, 그 리스트의 정수들을 오름차순으로 한 줄에 공백으로 구분하여 출력한다.

조건을 만족하는 리스트가 존재하지 않거나, 가장 짧은 리스트의 길이가 100100을 초과하면 1-1을 출력한다.