implicit none integer(8) A,B,C,m integer(8),allocatable :: x(:) allocate (x(4)) read(*,*) (x(m),m=1,4) B=(x(1)-1)*x(4) select case (B) case(:59) x(3)=x(3)+B case(60:) x(2)=x(2)+(B/60) B=B-(B/60)*60 x(3)=x(3)+B end select if (x(3)>=60) then x(2)=x(2)+1 x(3)=x(3)-60 end if C=0 do while (x(2)>C) C=C+24 end do x(2)=x(2)-C+24 if (x(2)==24) then x(2)=0 end if write(*,*) x(2) write(*,*) x(3) end