local H,W,M=io.read("n","n","n")
local bombx={}
local bomby={}
local map={}
for i=1,math.max(H,M) do
    bombx[i]={}
    bomby[i]={}
    map[i]={}
end
local t={}
for i=1,M do
    local h,w=io.read("n","n")
    table.insert(bombx[w],h)
    table.insert(bomby[h],w)
    map[h][w]=true
    t[i]={h,w}
end

local max=0
local hmax=0
local wmax=0
for i=1,M do
    local w=t[i][2]
    local h=t[i][1]
    hmax=math.max(hmax,#bomby[h])
    wmax=math.max(wmax,#bombx[w])
    max=math.max(max,#bombx[w]+#bomby[h]-1)
end

local maxx={}
local maxy={}
for i=1,M do
    local w=t[i][2]
    local h=t[i][1]
    if #bombx[w]==wmax then
        table.insert(maxx,w)
    end
    if #bomby[h]==hmax then
        table.insert(maxy,h)
    end
end

for i=1,#maxy do
    local h=bomby[i]
    for j=1,#maxx do
        local w=bombx[j]
        if map[h] and not map[h][w] then
            max=max+1
            print(max)
            return
        end
    end
end
print(max)