program probC
  implicit none
  integer(16) :: k, m
  integer(16) :: n, m2, sa, sb, c
  integer(16), allocatable :: a(:), b(:)

  read(*,*) n, m2, k
  allocate(a(n), b(m2))
  read(*,*) a
  read(*,*) b

  m = 0
  sa = 1
  sb = 1
  c = 0
  do while ( m <= k )
     if ( sa == n+1 .and. sb == m2+1 ) then
        c = c + 1
        exit
     else if ( sa == n+1 ) then
        m = m + b(sb)
        sb = sb + 1
     else if ( sb == m2+1 ) then
        m = m + a(sa)
        sa = sa + 1
     else if ( a(sa) <= b(sb) ) then
        m = m + a(sa)
        sa = sa + 1
     else
        m = m + b(sb)
        sb = sb + 1
     end if
     
     c = c + 1
  end do

  deallocate(a, b)
  
  write(*,'(i0)') c - 1

  stop
end program probC
