Problem:
 Score : 500 points    Problem Statement We have a two-dimensional grid with H \times W squares. There are M targets to destroy in this grid - the position of the i -th target is \left(h_i, w_i \right) .  Takahashi will choose one square in this grid, place a bomb there, and ignite it. The bomb will destroy all targets that are in the row or the column where the bomb is placed. It is possible to place the bomb at a square with a target.  Takahashi is trying to maximize the number of targets to destroy. Find the maximum number of targets that can be destroyed.      Constraints  All values in input are integers.  1 \leq H, W \leq 3 \times 10^5  1 \leq M \leq \min\left(H\times W, 3 \times 10^5\right)  1 \leq h_i \leq H  1 \leq w_i \leq W  \left(h_i, w_i\right) \neq \left(h_j, w_j\right) \left(i \neq j\right)         Input Input is given from Standard Input in the following format:  H  W  M  h_1  w_1  \vdots  h_M  w_M       Output Print the answer.        Sample Input 1 2 3 3
2 2
1 1
1 3      Sample Output 1 3  We can destroy all the targets by placing the bomb at \left(1, 2\right) .       Sample Input 2 3 3 4
3 3
3 1
1 1
1 2      Sample Output 2 3       Sample Input 3 5 5 10
2 5
4 3
2 3
5 5
2 2
5 4
5 3
5 1
3 5
1 4      Sample Output 3 6

Solution (Python):
H,W,M=map(int,input().split())
Y=[0 for i in range(H+1)]
X=[0 for i in range(W+1)]
HW=[]
for i in range(M):
    h,w=map(int,input().split())
    Y[h]+=1
    X[w]+=1
    HW.append([h,w])

LY=[]
LX=[]
MY=max(Y)
MX=max(X)
for i in range(H+1):
    if Y[i]==MY:
        LY.append(i)
for i in range(W+1):
    if X[i]==MX:
        LX.append(i)

count=0
for i in range(M):
    if Y[HW[i][0]]==MY and X[HW[i][1]]==MX:
        count+=1

if count==len(LY)*len(LX):
    print(MY+MX-1)
else:
    print(MY+MX)

Solution (Python):
H, W, M = map(int, input().split())
HW_L = set(tuple(int(x)-1 for x in input().split()) for y in range(M))

w_l = [0] * W
h_l = [0] * H

for _hi, _wi in HW_L:
    w_l[_wi] += 1
    h_l[_hi] += 1

max_h = max(h_l)
max_w = max(w_l)

h_idx = [i for i, x in enumerate(h_l) if x == max_h]
w_idx = [i for i, x in enumerate(w_l) if x == max_w]

ans = max_h + max_w - 1

for hi in h_idx:
    for wj in w_idx:
        if (hi, wj) not in HW_L:
            ans = max_h + max_w
            break
    else:
        continue
    break

print(ans)

Solution (Python):
H, W, M = map(int, input().split())

coord = set()
num_h = [0] * (H+1)
num_w = [0] * (W+1)
for i in range(M):
    h, w = map(int, input().split())
    num_h[h] += 1; num_w[w] += 1
    coord.add((h, w))

max_h = []
max_w = []
nh = nw = 0
for h in range(H+1):
    n = num_h[h]
    if n > nh:
        nh = n
        max_h = [h]
    elif n == nh:
        max_h.append(h)

for w in range(W+1):
    n = num_w[w]
    if n > nw:
        nw = n
        max_w = [w]
    elif n == nw:
        max_w.append(w)

for h in max_h:
    for w in max_w:
        if (h, w) not in coord:
            print(nh + nw)
            quit()

print(nh + nw - 1)

Solution (Python):
import collections

h,w,m = map(int,input().split())
l=[]
x=[]
y=[]
for i in range(m):
    hw=list(map(int,input().split()))
    l.append(hw)
    y.append(hw[0])
    x.append(hw[1])

xc = collections.Counter(x)
yc = collections.Counter(y)

tuplex = xc.most_common()[0]
tupley = yc.most_common()[0]

mostx=tuplex[0]
mosty=tupley[0]

if tuplex[1]>tupley[1]:
    y=[]
    for i in range(m):
        if l[i][1]!=mostx:
            y.append(l[i][0])
    if len(y) != 0:
        yc = collections.Counter(y)
    tupley = yc.most_common()[0]
    mosty=tupley[0]
    ans=0
    for j in range(m):
        if l[j][0] == mosty or l[j][1] == mostx:
            ans+=1
    print(ans)

elif tuplex[1]<tupley[1]:
    x=[]
    for i in range(m):
        if l[i][0]!=mosty:
            x.append(l[i][1])
    if len(x) != 0:
        xc = collections.Counter(x)
    tuplex = xc.most_common()[0]
    mostx=tuplex[0]
    ans=0
    for j in range(m):
        if l[j][0] == mosty or l[j][1] == mostx:
            ans+=1
    print(ans)

else:
    
    ans1=0
    x1=[]
    for i in range(m):
        if l[i][0]!=mosty:
            x1.append(l[i][1])
    if len(x1) != 0:
        x1c = collections.Counter(x1)
    else:
        x1c = collections.Counter(x)
    tuplex1 = x1c.most_common()[0]
    mostx1=tuplex1[0]
    for j in range(m):
        if l[j][0] == mosty or l[j][1] == mostx1:
            ans1+=1
    
    ans2=0
    y1=[]
    for i in range(m):
        if l[i][1]!=mostx:
            y1.append(l[i][0])
    if len(y1) != 0:
        y1c =collections.Counter(y1)
    else:
        y1c = collections.Counter(y)
    tupley1 = y1c.most_common()[0]
    mosty1=tupley1[0]
    for j in range(m):
        if l[j][0] == mosty1 or l[j][1] == mostx:
            ans2+=1
    print(max(ans1,ans2))

Solution (Python):

def main():
    import sys
    from collections import defaultdict
    input = sys.stdin.readline
    h, w, m = map(int, input().split())
    cnt_h = [0] * h
    cnt_w = [0] * w
    bomb = defaultdict(lambda : 0)
    for _ in range(m):
        y, x = map(lambda x:int(x) - 1, input().split())
        cnt_h[y] += 1
        cnt_w[x] += 1
        bomb[(y, x)] = 1
        
    kouho_h = []
    kouho_w = []
    max_h = max(cnt_h)
    max_w = max(cnt_w)
    for i in range(h):
        if cnt_h[i] == max_h:
            kouho_h.append(i)
    for i in range(w):
        if cnt_w[i] == max_w:
            kouho_w.append(i)
    
    for i in kouho_h:
        for j in kouho_w:
            if bomb[(i, j)] == False:
                print(max_h + max_w)
                exit()
    print(max_h + max_w - 1)



if __name__ == '__main__':
    main()

Solution (Python):
import sys
from collections import Counter


def main():
    H, W, M = map(int, sys.stdin.readline().rstrip().split())
    Mh = [0] * H
    Mw = [0] * W
    B = []
    for i in range(M):
        h, w = map(int, sys.stdin.readline().rstrip().split())
        Mh[h - 1] += 1
        Mw[w - 1] += 1
        B.append((h - 1, w - 1))

    nh = max(Mh)
    nw = max(Mw)

    
    lh = Counter(Mh)[nh]
    lw = Counter(Mw)[nw]

    out = 0
    for (h, w) in B:
        if Mh[h] == nh and Mw[w] == nw:
            out += 1

    if out == lh * lw:
        print(nh + nw - 1)
    else:
        print(nh + nw)


main()

Solution (Python):
import sys
H,W,M=map(int, input().split())
h=[]
w=[]
Hcount=[0 for _ in range(H)]
Wcount=[0 for _ in range(W)]
B=set()

for i in range(M):
    hi,wi=map(int, input().split())
    
    
    B.add((hi,wi))
    Hcount[hi-1]+=1
    Wcount[wi-1]+=1
Hcountmax=max(Hcount)
Wcountmax=max(Wcount)
h_max=[i for i, v in enumerate(Hcount) if v == Hcountmax]
w_max=[i for i, v in enumerate(Wcount) if v == Wcountmax]

for ii in range(len(h_max)):
    for jj in range(len(w_max)):
        if (h_max[ii]+1,w_max[jj]+1) not in B:
            print(max(Hcount)+max(Wcount))
            sys.exit()
print(max(Hcount)+max(Wcount)-1)

Solution (Python):
h, w, m = map(int,input().split())

h_dict = dict()
w_dict = dict()

targets = list()

for i in range(m):
    temp_h, temp_w, = map(int,input().split())

    h_dict[temp_h] = h_dict.get(temp_h, default=0) + 1
    w_dict[temp_w] = w_dict.get(temp_w, default=0) + 1

    targets.append((temp_h, temp_w))

h_dict_values = list(h_dict.values())
w_dict_values = list(w_dict.values())

max_h = max(h_dict_values)
max_w = max(w_dict_values)

nh = h_dict_values.count(max_h)
nw = w_dict_values.count(max_w)

x = 0

for i in range(m):
    temp_h, temp_w = targets[i]
    if h_dict[temp_h]==max_h and w_dict[temp_w]==max_w:
        x += 1

ans = max_h + max_w

if x == nh * nw:
    ans -= 1

print(ans)

Solution (Python):

"""

import numpy as np
i4 = np.int32
i8 = np.int64


def solve(h, w, l, H, W, M):
    h_max = []
    w_max = []
    hm = h.max()
    wm = w.max()
    for i in range(H + 1):
        if h[i] == hm:
            h_max.append(i)
    for i in range(W + 1):
        if w[i] == wm:
            w_max.append(i)

    if len(h_max) * len(w_max) > M:
        return hm + wm

    for hj in h_max:
        for wj in w_max:
            if not wj in l[hj]:
                return hm + wm
    return hm + wm - 1


def main(in_file):
    stdin = open(in_file)
    H, W, M = [int(x) for x in stdin.readline().split()]
    h = np.zeros(H + 1, i8)
    w = np.zeros(W + 1, i8)
    l = [set() for _ in range(H + 1)]
    for _ in range(M):
        hi, wi = [int(x) for x in stdin.readline().split()]
        h[hi] += 1
        w[wi] += 1
        l[hi].add(wi)
    ans = solve(h, w, l, H, W, M)
    print(ans)


def main2():
    main('/dev/stdin')




"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'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'
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)