program main
    use,intrinsic :: iso_fortran_env
    implicit none
    integer(int64):: h,w,m,i,ymax,xmax,nmx,nmy,ansptn
    integer(int64), allocatable:: x(:), y(:), ysum(:), xsum(:)
    logical,allocatable:: is_maxy(:), is_maxx(:), kx(:),ky(:)

    read*, h,w,m
    allocate(x(m), y(m))
    allocate(ysum(h), xsum(w), source=0_8)
    allocate(is_maxy(h), is_maxx(w), source=.false.)
    allocate(kx(w), ky(h), source=.false.)

    do i=1,m
        read*, y(i), x(i)
        ysum(y(i))=ysum(y(i))+1
        xsum(x(i))=xsum(x(i))+1
    end do
    xmax = maxval(xsum(:))
    ymax = maxval(ysum(:))

    nmx=0; nmy=0
    do i=1,h
        if (ysum(i) == ymax) nmy=nmy+1
    end do
    do i=1,w
        if (xsum(i) == xmax) nmx=nmx+1
    end do

    ansptn = nmx*nmy
    do i=1,m
        if (xsum(x(i))==xmax .and. ysum(y(i))==ymax) ansptn=ansptn-1
    end do
    if (ansptn <= 0) xmax=xmax-1
    print'(i0)', ymax+xmax
end program main