program main
    implicit none
    integer(8):: h=10,w=1000,k=1000
    integer(8):: i,j
    integer(8), allocatable:: c(:,:), now(:)
    integer(8), parameter:: inf = 1001001001
    character(1), allocatable:: s(:,:)
    read*, h,w,k
 
    allocate(s(w,h))

    block
        character(:), allocatable:: input_s
        allocate(character(w)::input_s)

        do i=1,h
            read*, input_s(:)
            do j=1,w
                s(j,i) = input_s(j:j)
            end do
        end do
    end block

    ! s(:,:) = '0'

    ! block
    !     integer(8):: div, g, ints, num
    !     integer(8):: ans = inf
    !     integer(8), allocatable:: id(:)
    !     logical:: emp, ok

    !     allocate(id(h))
    !     do div=1, lshift(1, h-1)
    !         g = 1

    !         do i=1, h
    !             id(i) = g
    !             if (and(rshift(div-1,i-1), 1) == 1) g=g+1
    !         end do

    !         allocate(c(w, maxval(id)))
    !         c(:,:) = 0

    !         do i=1,h
    !             do j=1,w
    !                 read(s(j,i),*) ints
    !                 c(j,id(i))=c(j,id(i))+ints
    !             end do 
    !         end do

    !         ok=.true.
    !         do i=1,g
    !             do j=1,w
    !                 if(c(j,i) > k) ok = .false.
    !             end do
    !         end do

    !         if (.not. ok) then
    !             deallocate(c)
    !             cycle
    !         end if

    !         allocate(now(g+1))
    !         num = g-1
    !         now(:) = 0
    !         do j=1,w
    !             if (.not. add(j,g)) then
    !                 num=num+1
    !                 now(:)=0
    !                 emp = add(j,g)
    !             end if
    !         end do 

    !         ans = min(ans,num)
    !         deallocate(c)
    !         deallocate(now)
    !     end do

    !     print*, ans
    ! end block

contains
function add(j,g) result(ok)
    integer(8):: i,j,g
    logical:: ok

    do i=1,g
        now(i)=now(i)+c(j,i)
    end do

    ok=.true.
    do i=1,g+1
        if (now(i) > k) ok=.false.
    end do
end function

end program main