#include using namespace std; #include #include #include #include #include template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; } #define rep(i,n) for (int i = 0; i < (n); ++i) typedef long long ll; typedef long double ld; typedef unsigned long long ull; using P=pair; const ll INF=1e18; const int mod=1e9+7; void solve(){ int n,m,q; cin>>n>>m>>q; vector>t(n+1,vector(m+1)); rep(i,q){ int a,b; cin>>a>>b; t[a][b]=1; } vector>dp(n+1,vector(m+1)); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(t[i][j]){ chmax(dp[i][j],dp[i-1][j-1]+1); } else{ chmax(dp[i][j],max(dp[i-1][j],dp[i][j-1])); } } } cout<