#include <bits/stdc++.h>
using namespace std;
const int N = 11, M = 101;
int n, m, k, a[N][M], b[N][M], c[N][M];
int main() {
cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
string name;
cin >> name;
for (int j = 1; j <= m; j++) {
cin >> a[i][j] >> b[i][j] >> c[i][j];
}
}
int ans = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i == j) {
continue;
}
vector<int> vec;
for (int x = 1; x <= m; x++) {
for (int y = 1; y <= c[i][x]; y++) {
vec.push_back(b[j][x] - a[i][x]);
}
}
sort(vec.begin(), vec.end());
reverse(vec.begin(), vec.end());
int sum = 0;
for (int x = 0; x < min(k, (int)vec.size()); x++) {
sum += max(vec[x], 0);
}
ans = max(ans, sum);
}
}
cout << ans;
return 0;
}/*1689884908.9791336*/
1602A - Two Subsequences | 1555A - PizzaForces |
1607B - Odd Grasshopper | 1084A - The Fair Nut and Elevator |
1440B - Sum of Medians | 1032A - Kitchen Utensils |
1501B - Napoleon Cake | 1584B - Coloring Rectangles |
1562B - Scenes From a Memory | 1521A - Nastia and Nearly Good Numbers |
208. Implement Trie | 1605B - Reverse Sort |
1607C - Minimum Extraction | 1604B - XOR Specia-LIS-t |
1606B - Update Files | 1598B - Groups |
1602B - Divine Array | 1594B - Special Numbers |
1614A - Divan and a Store | 2085. Count Common Words With One Occurrence |
2089. Find Target Indices After Sorting Array | 2090. K Radius Subarray Averages |
2091. Removing Minimum and Maximum From Array | 6. Zigzag Conversion |
1612B - Special Permutation | 1481. Least Number of Unique Integers after K Removals |
1035. Uncrossed Lines | 328. Odd Even Linked List |
1219. Path with Maximum Gold | 1268. Search Suggestions System |