#include <bits/stdc++.h>
using namespace std;
long long tam[100000 + 10];
long long incremento[100000 + 10];
long long sumar[100000 + 10];
int main() {
  memset(tam, 0, sizeof(tam));
  memset(incremento, 0, sizeof(incremento));
  memset(sumar, 0, sizeof(sumar));
  int n, m, queries;
  cin >> n >> m >> queries;
  long long inicio, fin, val_inicial;
  for (int i = 0; i < m; ++i) {
    cin >> inicio >> fin >> val_inicial;
    sumar[inicio] += val_inicial;
    incremento[inicio] += 1;
    incremento[fin + 1] += -1;
    sumar[fin + 1] += ((fin - inicio) + val_inicial + 1) * -1;
  }
  long long aumentar = 0;
  for (int i = 1; i < 100000; ++i) {
    tam[i] += aumentar + tam[i - 1] + sumar[i];
    aumentar += incremento[i];
  }
  long long q, r = 0;
  for (int i = 0; i < queries; ++i) {
    cin >> q;
    r += tam[q];
  }
  cout << r << endl;
  return 0;
}
