#include #include using namespace std; using mint = atcoder::static_modint<(int)1e9+7>; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int n, m, q; cin >> n >> m >> q; vector> p(q); for(int i = 0; i < q; i++) cin >> p[i].first >> p[i].second; sort(p.begin(), p.end()); vector dp(m + 1, 1e9); dp[0] = 0; for(int i = 0; i < q; ) { int j = i; while(j < q && p[i].first == p[j].first) j++; vector>lz; for(int k = i; k < j; k++) { int id = lower_bound(dp.begin(),dp.end(),p[k].second)-dp.begin(); lz.push_back({id,p[k].second}); } for(auto[id,v]:lz)dp[id]=v; i = j; } int ans=0; for(int i = 0; i <= m; i++) if(dp[i]!=1e9)ans=i; cout<