#include <bits/stdc++.h>
using namespace std;
#define int long long
int n, m, k, d[10005], s[10005], t[10005], e[10005], f[10005], ld[10005], gt[10005], x[10005];
signed main() {
cin >> n >> m >> k;
for (int i = 1; i < n; i++) cin >> d[i];
for (int i = 1; i <= m; i++) {
cin >> t[i] >> s[i] >> e[i];
ld[s[i]] = max(ld[s[i]], t[i]);
x[e[i]]++;
}
int ans = 0;
for (int i = 2; i <= n; i++) {
gt[i] = max(gt[i - 1], ld[i - 1]) + d[i - 1];
}
for (int i = 1; i <= m; i++) {
ans += gt[e[i]] - t[i];
}
for (int i = n - 1; i >= 1; i--) {
if (gt[i + 1] > ld[i + 1])
f[i] = f[i + 1] + x[i + 1];
else
f[i] = 0;
}
while (k--) {
int mx = 0;
for (int i = 1; i <= n - 1; i++) {
if (f[mx] < f[i])
mx = i;
}
if (!mx)
break;
ans -= f[mx];
d[mx]--;
for (int i = mx - 1; i <= n; i++) {
gt[i] = max(gt[i - 1], ld[i - 1]) + d[i - 1];
}
for (int i = n - 1; i >= mx; i--) {
if (d[i] == 0)
f[i] = 0;
else if (gt[i + 1] > ld[i + 1])
f[i] = f[i + 1] + x[i + 1];
else
f[i] = 0;
}
}
cout << ans;
return 0;
}