program main implicit none integer*8::N,D,K,KK,NN,NK,NNK,i integer*8::ans(100)=(/(i,i=1,100)/) character*32::cformat='(i0, (1x,i0))' read *,N,D,K NK=N-K KK=K*(K+1)/2 NN=KK+NK*K if(NN.lt.D.or.KK.gt.D) then print '("-1")', return else if(NN.eq.KK) then else NNK=(D-KK+NK-1)/NK ans(K-NNK+1) = (K-NNK+1)+((D-KK)-(NNK-1)*NK) ans(K-NNK+2:K) = (/(i+NK,i=K-NNK+2,K)/) end if write(cformat(5:9),'(i0)'),K write(*,cformat) ans(1:K) end program main