#include<bits/stdc++.h>
using namespace std;
long long n,i,j,a[6],b[6],c[6],nw[10000000] = {0},nc[10000000] = {0},f[10001] = {0},am,bw,h = 1;
int main(){
long long sh,sf,eh,ef;
long long m,k;
cin>>n>>m>>bw;
for(i = 1;i<=n;i++){//多重背包的二进制优化
int c,w,num;
cin>>w>>c>>num;
for(j = 1;j<=num;j<<=1){
nw[++h] = w*j;
nc[h] = c*j;
num-=j;
}
if(num!=0){
nw[++h] = w*num;
nc[h] = c*num;
}
}
for(i = 1;i<=h;i++){//正常
for(j = bw;j>=nw[i];j--){
f[j] = max(f[j],f[j-nw[i]]+nc[i]);
}
}
for(i = 1;i<=m;i++){//奇货
cin>>a[i]>>b[i]>>c[i];
for(j = 0;j<=bw;j++){
for(k = 0;k<=j;k++){
f[j] = max(f[j],f[j-k]+a[i]*k*k+b[i]*k+c[i]);
}
}
}
cout<<f[bw]<<endl;
// system ("pause");
return 0;
}