import sys input = sys.stdin.buffer.readline N, M, Q = map(int, input().split()) matr = [[False] * M for _ in range(N)] for _ in range(Q): a, b = (int(x) - 1 for x in input().split()) matr[a][b] = True dp = [[0] * (M + 1) for _ in range(N + 1)] for a in range(N): for b in range(M): if matr[a][b]: dp[a + 1][b + 1] = max(dp[a][b] + 1, dp[a + 1][b], dp[a][b + 1]) else: dp[a + 1][b + 1] = max(dp[a + 1][b], dp[a][b + 1]) print(dp[-1][-1])