program main implicit none integer*8::R(3),N,D,K,KK,NN,NK,i,a,b integer*8::ans(100)=(/(i,i=1,100)/) character*32::cformat='(i0, 99(1x,i0))' read *,R N = R(1) D = R(2) K = R(3) 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(N.eq.K) then write(*,cformat) ans(1:K) else if(NN.eq.D) then write(*,cformat) ans(N-K+1:N) else a = (D-KK)/NK b = (K-a) + MOD(D-KK,NK) write(*,cformat) ans(1:(K-a-1)),b,ans((N-a+1):N) end if end program main