program main implicit none integer::n,m,i,j,k,v(100),w(100),valTarget,valMax=0,ma=-1,mi=1000000 integer::g(0:100000) read*,n do i=1,n read(*,*)v(i),w(i) valMax=valMax+v(i) end do read*,valTarget do i=0,size(g) g(i)=0 end do do i=1,n do j=100000-w(i),0,-1 g(j+w(i))=max(g(j+w(i)),g(j)+v(i)) end do end do do i=1,size(g)-1 if(g(i)==valTarget)then mi=min(mi,i) ma=max(ma,i) end if end do print*,mi if(valMax==valTarget)then print*,"inf" else print*,ma end if end program