import sys input = sys.stdin.readline from bisect import * N, M, Q = map(int, input().split()) ab = [tuple(map(int, input().split())) for _ in range(Q)] ab.sort(key=lambda t: (t[0], -t[1])) dp = [10**18]*(N+1) dp[0] = 0 for _, b in ab: dp[bisect_left(dp, b)] = b print(bisect_left(dp, 10**18)-1)