#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,C,v[10005],w[10005],d[10005],a[10],b[10],c[10],f[10005];
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>C;
for(int i=1;i<=n;i++)cin>>v[i]>>w[i]>>d[i];
for(int i=1;i<=m;i++)cin>>a[i]>>b[i]>>c[i];
for(int i=1;i<=n;i++)//多重背包二进制优化处理前n个物品
{
int t=d[i];
for(int k=1;k<=t;k*=2)
{
for(int j=C;j>=k*v[i];j--)
f[j]=max(f[j],f[j-k*v[i]]+k*w[i]);
t-=k;
}
if(t>1)
for(int j=C;j>=t*v[i];j--)
f[j]=max(f[j],f[j-t*v[i]]+t*w[i]);
}
for(int i=1;i<=m;i++)//分组背包处理m个奇物
for(int j=C;j>=0;j--)
for(int k=0;k<=j;k++)//分配的体积
f[j]=max(f[j],f[j-k]+(a[i]*k+b[i])*k+c[i]);
cout<<f[C]<<endl;
system("pause");
return 0;
}