#include<bits/stdc++.h>
#define int long long
using namespace std;
int dp[11451][114];
int m[11451],l[11451],a[11451],c[11451],d[11451];
int mind[11451];
signed main(){
memset(mind,0x3f,sizeof(mind));
int t,s,n,cm=-114514;
cin>>t>>s>>n;
for(int i=1;i<=s;i++){
cin>>m[i]>>l[i]>>a[i];
m[i]+=l[i];
cm=max(cm,a[i]);
}
for(int i=1;i<=n;i++){
cin>>c[i]>>d[i];
mind[c[i]]=min(mind[c[i]],d[i]);
for(int j=c[i];j<=110;j++){
mind[j]=min(mind[c[i]],mind[j]);
}
}
for(int i=0;i<=t;i++){
for(int j=1;j<=cm;j++){
dp[i][j]=dp[i-1][j];
for(int k=1;k<=s;k++){
if(m[k]==i&&a[k]>j&&i-l[k]>=0)dp[i][a[k]]=max(dp[i-l[k]][j],dp[i][a[k]]);
}
if(i-mind[j]>=0)dp[i][j]=max(dp[i][j],dp[i-mind[j]][j]+1);
}
}
int ans=dp[t][1];
for(int i=1;i<=s;i++){
ans=max(ans,dp[t][a[i]]);
}
cout<<ans<<endl;
return 0;
}