program main implicit none integer::N,i integer::a(16),m data a/16*0/ read *,N read *,a(1:N) m = a(1) do i=2,N if(a(i).eq.0) then m = MAX(m*a(i),MAX(m-a(i),MAX(m+a(i),m/a(i)))) else m = MAX(m*a(i),MAX(m-a(i),m+a(i))) end if end do print '(i0)',m contains subroutine aprinter(array) integer::array(:) character*32::cformat='(i0, (1x,i0))' write(cformat(5:9),'(i0)'),size(array) write(*,cformat) array end subroutine aprinter end program main