#include<bits/stdc++.h>
#define ll long long
#define N 100005 
using namespace std;
struct lbc{
	int x,y;
	bool operator <(const lbc &a)const{
		return y-x>a.y-a.x;
	}
}a[N];
struct heap{
	priority_queue<int> q;
	int sz;
	ll s;
	void resize(int _sz){
		sz=_sz; s=0;
		while (!q.empty()) q.pop();
	}
	void insert(int x){
		q.push(-x); s+=x;
		if (q.size()>sz)
			s+=q.top(),q.pop();
	}
	ll query(){
		if (q.size()!=sz) return -1e18;
		return s;
	}
}jdb;
int x,y,z;
ll ans,v[N];
int main(){
	scanf("%d%d%d",&x,&y,&z);
	for (int i=1;i<=x+y+z;i++){
		int v;
		scanf("%d%d%d",&a[i].x,&a[i].y,&v);
		a[i].x-=v; a[i].y-=v; ans+=v;
	}
	sort(a+1,a+x+y+z+1);
	jdb.resize(y);
	for (int i=1;i<=x+y+z;i++){
		jdb.insert(a[i].y);
		v[i]=jdb.query();
	}
	jdb.resize(x);
	for (int i=x+y+z;i;i--){
		jdb.insert(a[i].x);
		v[i-1]+=jdb.query();
	}
	ll tmp=-1e18;
	for (int i=1;i<x+y+z;i++)
		tmp=max(tmp,v[i]);
	printf("%lld\n",tmp+ans);
}