#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 3e5 + 10;
int n , x, y;
int su1[N], su2[N];
priority_queue<int, vector<int>, greater<int> > p;
struct node
{
int a, b;
}pa[N];
bool cmp(node a, node b)
{
return a.a - a.b > b.a - b.b;
}
int ans2, z;
signed main()
{
cin >> x >> y >> z;
n = n + x + y + z;
for(int i = 1; i <= n; i++)
{
int x;
cin >> x >> pa[i].a >> pa[i].b;
pa[i].a -= x, pa[i].b -= x;
ans2 += x;
}
sort(pa + 1, pa + n + 1, cmp);
for(int i = 1, now = 0; i <= n; i++)
{
p.push(pa[i].a);
now += pa[i].a;
if(p.size() > y){now -= p.top(), p.pop();}
su1[i] = now;
}
while(!p.empty()) p.pop();
for(int i = n, now = 0; i; i--)
{
p.push(pa[i].b);
now += pa[i].b;
if(p.size() > z){now -= p.top(), p.pop();}
su2[i] = now;
}
int ans = 0;
for(int i = y; i <= n - z; i++) ans = max(ans, su1[i] + su2[i + 1]);
cout << ans + ans2 << endl;
return 0;
}