#include<bits/stdc++.h>
using namespace std;
int dp[10010][1010];
int C[10010][2];
bool book[10010][1010];
main(){
int n,m,k;
cin>>n>>m>>k;
for(int i=0;i<n;i++){
cin>>C[i][0]>>C[i][1];
}
for(int i=1;i<=k;i++){
int p,l,L;
cin>>p>>l>>L;
for(int j=n;L<=m;j--,L++){
book[p][j]=true;
}
for(int j=0;l;j++,l--){
book[p][j]=true;
}
}
for(int i=0;i<=n;i++) for(int j=0;j<=m;j++) dp[i][j]=1e9;
for(int i=1;i<=m;i++) dp[0][i]=0;
int Max=-1;
for(int i=0;i<n;i++){
for(int j=1;j<=m;j++){
if(book[i][j]||dp[i][j]==1e9) continue;
int ss=j+C[i][0],xj=j-C[i][1];
if(!book[i+1][min(ss,m)]){dp[i+1][min(ss,m)]=min(dp[i+1][min(ss,m)],dp[i][j]+1);Max=max(Max,i+1);}
if(xj<1) continue;
if(!book[i+1][xj]){dp[i+1][xj]=min(dp[i+1][xj],dp[i][j]);Max=max(Max,i+1);}
}
}
if(Max==n){
puts("1");
int Min=1e9;
for(int i=1;i<=m;i++) if(!book[n][i]) Min=min(Min,dp[n][i]);
cout<<Min;
}
else{
puts("0");
cout<<Max;
}
}