#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;
#define mid ((left+right)>>1)
int n,m;
ll arr[1000023],brr[1000023];
ll sa[1000023],sb[1000023];
int ca[1000023],cb[1000023];
ll dp[2023][2023];
signed main(){
ios_base::sync_with_stdio(23^23);cin.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>arr[i]>>sa[i]>>ca[i];
arr[i]+=arr[i-1];
}
for(int i=1;i<=m;i++){
cin>>brr[i]>>sb[i]>>cb[i];
brr[i]+=brr[i-1];
}
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
dp[i][j]=-1e18;
}
}
dp[0][0]=0;
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(i<n){
ll x=dp[i][j];
if(arr[i+1]+brr[j]<=sa[i+1]){
x+=ca[i+1];
}
dp[i+1][j]=max(dp[i+1][j],x);
}
if(j<m){
ll x=dp[i][j];
if(arr[i]+brr[j+1]<=sb[j+1]){
x+=cb[j+1];
}
dp[i][j+1]=max(dp[i][j+1],x);
}
}
}
cout<<dp[n][m]<<endl;
}