n,m,q = map(int,input().split()) l_a , l_b = [] ,[] for _ in range(q): a,b = map(int,input().split()) l_a.append(a) l_b.append(b) dp_a ,dp_b = [] ,[] import bisect ans = 0 for i in range(q): idx_a = bisect.bisect_left(dp_a,l_a[i]) idx_b = bisect.bisect_left(dp_b,l_b[i]) # print(i,ll[i],idx,dp) if idx_a == len(dp_a) and idx_b == len(dp_b): ans += 1 if idx_a == len(dp_a): dp_a.append(l_a[i]) else: dp_a[idx_a] = l_a[i] if idx_b == len(dp_b): dp_b.append(l_b[i]) else: dp_b[idx_b] = l_b[i] print(ans)