program main implicit none integer::N,D,K,KK,NN,NK,NNK,i,j integer::ans(100)=(/(i,i=1,100)/) data j/0/ read *,N,D,K NN=N*(N+1)/2 KK=K*(K+1)/2 if(NN.lt.D.or.KK.gt.D) then print '("-1")', return else NK=N-K 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)/) call aprinter(ans(1:K)) end if contains subroutine aprinter(array) integer*4::array(:) character*32::cformat='(i0, (1x,i0))' write(cformat(5:9),'(i0)'),size(array) write(*,cformat) array end subroutine aprinter end program main