# This code is generated by [Atcoder_base64](https://github.com/kyomukyomupurin/AtCoder_base64)
# Original source code : 

"""
#include <algorithm>
#include <bitset>
#include <cassert>
#include <cctype>
#include <chrono>
#include <cmath>
#include <complex>
#include <cstring>
#include <deque>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <string>
#include <tuple>
#include <utility>
#include <vector>

using namespace std;

using int64 = long long;

#define all(_) begin(_), end(_)
#define rall(_) rbegin(_), rend(_)

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);

  int h, w, m; cin >> h >> w >> m;
  vector<pair<int, int>> in;

  vector<int> cnt_row(h, 0), cnt_col(w, 0);

  for (int i = 0; i < m; ++i) {
    int hh, ww; cin >> hh >> ww;
    --hh; --ww;
    in.emplace_back(hh, ww);
    ++cnt_row[hh]; ++cnt_col[ww];
  }

  int mx_row = *max_element(all(cnt_row));
  int mx_col = *max_element(all(cnt_col));
  int ans = mx_row + mx_col;
  int64 can = count(all(cnt_row), mx_row) * count(all(cnt_col), mx_col);
  if (can > m) {
    cout << ans << endl;
  } else {
    int bad = 0;
    for (auto e : in) bad += (cnt_row[e.first] + cnt_col[e.second] == ans);
    if (can > bad) {
      cout << ans << endl;
    } else {
      cout << ans - 1 << endl;
    }
  }

  return 0;
}

"""

import base64
import subprocess
import zlib


exe_bin = "c%1E9eQ+Dcb>9O(5t1kX`mjt%mI*tQL&XwINR&jxkwuUMd5DiP!w*|+EuBCB6k&q^0~{n$Bd1JBy1CGB7>|>vjWSi;W~N``DCsnHKRh8#SszW>krOp`B|Fxnk^_XMEk}te*%r~ad%M8h@y<>&{gcZ9-o4+x_xA1Ey}jGT;~xfu77NEAR;=g&gt-$Ag>RsE-{ztSVD)G*eBX)IqeZ~mRC0QHgVR!bu^mOP-lFh&dI!={PDRU*d3kq*mLlXX>S15&*VA^^yEXI@ZI>_8>RG5>JJoBa@{GEu9;2*(Hu~wJxSlp6EwxeFenpDl>+>#!*HZy$DbxEL=q*COeWB)12W`(RE@!B}jIwdKFCOdJUUy$SvN;}0WCk}6)^Fduz0Q+PdbSXsTvWDocQ=v8<84v-yozGDzIE{f7cLG(clEz6)Of!6+$)dFe(eD)yAqYg4M&&*&6U)~s-qQ6>93bFlk>_c_^dF%-!j3!3=Q3FfIns;-)(|F!5QOkn#iv=k&m0;pD@AgCis4ncB>GZ;o8z^V&_jxaF>al`%UoYP5ikZ>@P=aP=j01a?y$QZKUA)?^5teHUVM&rKL#t-h1(!+m1x>Kz}kJrln9y5=A5iyV}G^G!;D%OH0vIS6fp&nTU3Udg4)~&ba3HcX!58=|D$}Tqfh`0KV#!>Y|BAJQ(hjyxwqMC?!g%P)te(!+}5tU|V}a=~!4yrlnLg)F12;yK2Qi=XQ~(ZVks0#F|teOQuB-jn)MdF{#-bI7kG%J48|HOC=9MT|^AU<H<0th{W3u>h!$Z(nE=`cqk_IK}RF8WS|H4dvH)3h^ErXL?|AUhQx!lpq4n)Z`5cLYqTz$%t$zf2f|@7jYH@~Vt3+DED;eqqUlV36jz2>Y$2@S$Hj2p<6>_p76%|a7!pHLbTB4SrZ<M0KMXMxu_7Ia{t$G&wW&$m>ZwJoLa?z(+~TP#UTyJgLrr`3_#1<w*RxfD_v``TI)qmX3#<^OZyS8d=z44=Q@}$0l)}MZfGf?%_IrkwV#&YdSiJ@H(E3{Vtct~!;g#s`DVA9qTZ~tv7gh2cDy@@0`Of2I_{npY%1axcv11R;Q+c*tvi1LjQ=ttye3(90c^y7L<?U`Q&iHdx3dL)oRdwIIroxx0@JlM(slszA+@->=s_^A1{Dulw-?uL67w-O270&Ko{1{!S!rA?c@l`5(klHUtrDqE+!zx_8$bU(N+f?|33Rk}$997}!=i_k|UarFbN`>21_z4xhScSi!!k4J<Nfln9!q2F1hYIIM-nR4OW!<aYh##AjEQNFY$VvM&Dr|e{Ha9A4I0@g*ss^~id>>ZHUn)S^@XwgXq065m{P!@ALzbT;{NG?6PnrA)!as+39J>5*!v87eamex$gntI}I8^yz!had_*xmd9;r|HpI5heFgg=aV9FlxH;ZvB$p~yE7{xRTtCs;rIkN6+<7X01*uI^6g^I(J@w{57w0g#)k`@EC6dqIcKO4WDp*_}VY(Kuap>~<w)0>GR2?4#A~xeZjx&C92Am6WN*%u>vRiT;u5T0wq~moJ=du5QN$a{mGS#+7aXDr*G!SG@ctRBj^H<(s+Zp<W0J)zyKqv(BeI5Y>Qp)_XDFz3iQxsmJk`SISK`eq<U3OQ^2p!$0Q7!T89_+=%U~93Sqg-ZWyH;D`;sFYkQ%L)^9O&fh=~1bHskKUXLS@^$QJ4_tz7O|~7AO>$Rt%}9<5`rd#*Y|4CtmtPY$Ucyna^HVphFe#j)oCODA6B2wm=acx2Gx%abDOJI#D^@{%H}@H^ie0mhgS~MaFK$Zk{kOba{=CgOx)$qXp_bqHLw;(;%4h4|z(eW1=&TwgF%FJb+`-Egm86TlYngX>ZW>>=ja`;j3-T|BL%CD8z;|c>citZ4UJlA9^E0Gn2nLA^37WGC3FD7e*N^*xz8^YAzsTWX{<oPWfRAtS{f|?a<40by3BC)Ns{)wYBlylaN5244&Ep{W(#+D{iSaFd-_>TPa7vN<apoN`)tId-caDBnG3TAd;{xO4`?TNr?8`)sn+^JYl9?g)s)*Q2-h#8L8IR}1W}gKFrxn3BgJAQQyz@J^g1(zac0s6|qxfA)kbfTVp6#6w!YhPuqpfA!Hr!&heHEMm-AT~32b|xZ3~*CCG<2aYd=}K7NWw_ZtZ<{;TOUF!V2l%(jvs-Tj1{D^+*c@DtFXhs;<(x&uDLWY-boz0z6igyg4`3%u`#kVoE-dvz5Yl2d;R<T;<TSUqVh{|xU)NtKyxGSa5)LoXP)9;D9#7p%g#T3;}*8rHa6=V&B0~<Rro3fdh8ou!CLQ~mFK*L{QKCPJe_v|h3NaUb@ll_gKG#v{!TEMyY>O=iaf2jKlOp8H{bg})thhQI{D4qETPjd7iP`_otg2@=96Hym(4fm!mn1k$?}&wP7Ll0EeAe(+hc@mJ5Op)+VhQ2+dJW%4a%?V<K>_8BbTqXcL~|D_wo2<myHmz^B71KZd(Mpzb4}ikQbP4K3ldC8}!}a<tx$}SZXi0l%;mr-om9`5A$d5G@eZ*9`xUH5l4RM!e%zkfj&PqXXWLq{8Vli&z<65nUgBP;Ga{271*Gez2Ti4bO>ec<41Nr1PWjh{HcI$9|kV>@9#sXdFaBavj2jS<*@oN*1I;{OZtPw_vU*GB!s}zl~le(9w1}a`P1ZS#-DDrQ%aul(j&#Gv5S|l@xD`sf<m_XAIL2)|0f<Y3pDK???#`^eg;<60NgWAxOyjK7e6uy3*HQu`86PRJQT`goF?si3p2Ugft!T_^%Jk}LHSkemXO`>(+U#$%|8R$>6dQ><?F)6E5y~QTh?4T=<#E-lDoA22=e=|J~qqm`U|UGhlPjZeQ&`1S!|Wu0u!ZpUYn-RPV%&*?``X>_wz`3e*fr3q3|rwr=Y2S1$qo<ElicagIi$~=<7fufWHls@;uNZ5TRp$zYX*<S9(|B4tF4K(8aB*D7Q~=<t~ilvxx!FzgP7fH<m}Jn#$LLKa*I%;c9VIe%874kbM~KT6_PewpQQG^zoU%8IV)If7HY0QTX8dQ^r7}!<Dr(Ix3&C`W@~kZGK11NLj0+)^cEpqXrPaqY@+<9rl)`r8AVn?E>+t{F`eWZnTd1hM$etzX-Hh4o^VazbN*<g6%(TZFab`wnj(IQ)PZf?URfAj{1@EX2%K6`bp~&M?GNBcB8}H$XfI-rTwS?+iqBwJh<@(9j<*2JLy|B;IBd4qDa$Dpx6$N+u?CLZH|VNQ5)pl74MM|#6$glSSWDo+yU5!mwix<zQvVYD@SwO&ulN2qj$<b>fC6dER=<^P!`HUSttu-p)8b-D(rlho#(RiTlMdhY8v3Qd=I@~XM<m&hl=bB_ar@>T|;?xzPyg|?Cf?erR+SJz3a2R!*AvaNlcH@mt^)1`~p2ZWoM$3w4R+|UZVc7v)xKcZ$sL`&Z76zb4~UxZm0TeKg7;hZ>MzFuEqIst>5)jpPjX`_U}YmIoR%#{&5tVqx>1#u>$3ppI0e=l-A#*y!tHp|Ff{)iS_0Cv}30z{VAnyQF@)yMRY(`Q+f}j+bM0K^kMbk^Y2jD?+mQ8HZ^_PUDMr@Nk|#@4$n4E?dGi+!g;^ot@qT{ZB)?T#<mqkr{3U~TKv0CmmzLNk|Ay@&SNcJR-C_Dd{J?pYw_~p_-k={ao%Y0#l`ul#g`Q4u@+xiyq~pr1v+ksFGKqc#?OizXuuG67S{(Y?n37b@#V$*0WH1)xtAN^E73WFA8D;{H`g1?XDh4<ydl2YaQ<6i6=3Uy7KgjsZG@M87uMoy=V5r+u%Y(~dK`z{0`X+)wTI&CiOw1{bho>xkIN<#J3FYIOAamWqqy6t#RZBF=<pue?x3#S&y(x<@jOcHoY2|%OCmpiT+IAe&d64v9~q3Vk^C#<d;a{nOzg}b-&yj#YM%dd6xaK?oWpkJ&xcQv-&reBrEc8+$%231oj*@JB!8eZ|JiN7(<E;pY=S>yk_UpHKPy!CV>xZ$c@sO=u|Jl|dF!gxVl2N7@Vh{s{jSQEm19;cKmUH;VPfZVCisgM#ebI9#m+3FCh~(OxSRMhe|>w_qV!ikUdJuQc^&^~QN~w4jyJIk$PeGG#ZOxBxH!-xo&Pe$uUHg$eY@|O_`lk!#G#$WGfMG$tj6-KCip(9aem8T6ZvOoyOXqC_PBb^YMkHlf{C41t;TV<Vd4*-r$+c)He>q;r)+q_VI;N+4>kG)QA}rg#GsPNfip*hdQpreV~LoA!YL^&WqNx(VN^=B5v6`Hj8kgTNE9PU@jyJ;6N-xwDVa)(q0Ar(C;JEDQ7Ibn?AY$BHx|O_Br!3RN`;2RXhKR2q25%eKPpBt{ry9rqT)pCibhlvTRQx00Wq+<8D|2Ct-HI$08c@_xdVyKzqi}p7Hon#jdDZ_kQA0;93E<E=?rv<UH(QP09K=skQ72<@F9|klMplMXv8#~r=dZe+VZhUJvwnsehsao$uqxuZj!!@NIEI@g}{<J3rZ{0{D>zN?e!RE9H}yb^e*B|CVd1Fhx+v%XmgB8MsQtMTN4{jmb^5t127(J$Z&wSAB=`!It62$p<pZ!Xz~X7J06U6JlI)_=R{9Btrni2C8ak{lA6Nl44EK?Syv4Ws#K<8`k2nnN2R4{(yu^|rcJ5Z#&<<Asm##BQreY%6bwSLMH7<w`E#Z@at5hvT5pgiJ=8CSdVoqPh4!(lSOQEAAWtGGMLiI&%~I$9<qjk=o}NrB9@!j=Aj0*9(tXGi8A^aXg-R)<<{$(=mP}|E5$aOWcnAy9tAV(Ln}jjLm!1PjxPVy--z1oxRFd4to@gIkRQe*R5(n19VKF)wjt)qoMEdV3tq_V0b`5QY`eR|ZAO>NEArGu|{jew*t+W5fg7^LS(ZHS?X8F>ra60}INSjNg&qsFa<n`MouTG!s&ls)#7=8S^-*wn)Gkvy?W3-0i?0iDMt=f&0vk0co_Ir%7{Bpc~<5c?W+~8rP%|T}SLPjs?0;Z4OKBSx_6#ZYMrJvIIZ_&}mk#aV{c(%`EbQqQVx1#y|Ka7-^GJUomWt5$l=;O!wKT7o*DbMz;jM`QDw;Sj`jnui=rSmFA*|`oY`tg@_`fMM}=%h~GrK8X4^x1xyQGLAZI{Gc0K6{U6v_rS=*Ke2qLZ{E(#~Iac>-GKrYpT!Qx!68MzhBYoGx}Ymz5mVrFTkw*AL#VizMs((x(Tn3=UJUTJ0D=QN+++se=Z^=-;tfemHy8_;q~#>kKZqllE=#Q+5VDWZ|tvL{~FTf&X)d<gSJmQwn(SP{5neeq(AT6Pdk46W7_{vr(fLnP{Qsry*?`zdceu_*?y{$>Nn`lzZ!J<<($&K{=kmuZ`9#N=h#O7Y{66gGjtuo&mj+*zkV!M`K~T5y70H?Caiw`EH}}AcoVhrG3)pL0-|UQSp"

open("./kyomu", 'wb').write(zlib.decompress(base64.b85decode(exe_bin)))
subprocess.run(["chmod +x ./kyomu"], shell=True)
subprocess.run(["./kyomu"], shell=True)

Measured memory_bytes: 11880