#include <bits/stdc++.h>
using namespace std;
struct elem {
  long start;
  long finish;
  long high;
};
const long maxn = 100005;
elem a[maxn];
long n, m, k, q, choice, now;
int main() {
  scanf("%ld%ld%ld", &n, &m, &k);
  for (q = 1; q <= m; q++)
    scanf("%ld%ld%ld", &a[q].start, &a[q].finish, &a[q].high);
  long long answer = 0;
  for (long it = 1; it <= k; it++) {
    scanf("%ld", &now);
    for (choice = 1; choice <= m; choice++)
      if ((a[choice].start <= now) && (a[choice].finish >= now)) {
        long long plus = now - a[choice].start + a[choice].high;
        answer += plus;
      }
  }
  cout << answer;
}
