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)/) integer*8::ans2(100) character*32::cformat='(i0, 99(1x,i0))' data ans2/100*0/ 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) ans2(1:K-a-1) = ans(1:K-a-1) ans2(K-a) = b ans2(K-a+1:K) = ans(N-a+1:N) write(*,cformat) ans2(1:K) end if end program main