program main implicit none integer*8::DA integer*8,allocatable::a(:) integer::i read *,DA allocate(a(0:DA)) a = 0 read *,a(0:DA) do i=DA, 3, -1 a(i-2) = a(i-2) + a(i) end do if(a(2).ne.0) then print '(i0)', 2 print '(i0,1x,i0,1x,i0)', a(0:2) else if(a(1).ne.0) then print '(i0)', 1 print '(i0,1x,i0)', a(0:1) else print '(i0)', 0 print '(i0)', a(0) end if end program main