#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
long long n,m,c,v,w,d,f[2][N],f2[N],q[N];
inline long long read(){
long long x=0,f=1;char ch=getchar();
while (ch<'0' || ch>'9'){if (ch=='-')f=-1;ch=getchar();}
while ('0'<=ch && ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
int main()
{
scanf("%lld%lld%lld",&n,&m,&c);
for(int i=1;i<=n;i++) {
v=read(),w=read(),d=read();
for(int r=0;r<v;r++){
int hh=0,tt=-1;
for(int j=r;j<=c;j+=v){
while(hh<=tt && (j-q[hh])>d*v) hh++;
while(hh<=tt && f[i&1^1][q[tt]]+(j-q[tt])/v*w<=f[i&1^1][j]) tt--;
q[++tt]=j;
f[i&1][j]=f[i&1^1][q[hh]]+(j-q[hh])/v*w;
}
}
}
for(int i=1;i<=c;i++) f2[i]=f[n&1][i];
for(int i=1;i<=m;i++)
{
int ai,bi,ci;
ai=read(),bi=read(),ci=read();
for(int j=c;j>=0;j--)
for(int x=0;x<=j;x++)
if(f2[j]<f2[j-x]+(ai*x+bi)*x+ci)
f2[j]=f2[j-x]+(ai*x+bi)*x+ci;
}
cout<<f2[c];
return 0;
}