#include <bits/stdc++.h>
using namespace std;
template <class T>
int size(const T& a) {
  return (int)a.size();
}
template <class T>
T sqr(const T& a) {
  return a * a;
}
struct Q {
  int a, b, c;
  void scan() { scanf("%d %d %d", &a, &b, &c); }
};
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  vector<Q> q(m);
  for (int i = 0; i < m; i++) {
    q[i].scan();
  }
  long long res = 0;
  for (int j = 0; j < k; j++) {
    int mid;
    scanf("%d", &mid);
    for (int i = 0; i < m; i++) {
      if (q[i].a <= mid && mid <= q[i].b) {
        res += mid - q[i].a + q[i].c;
      }
    }
  }
  cout << res;
  return 0;
}
