#include <bits/stdc++.h>
using namespace std;
int n, m, a;
int tag[2010], minn[2010], pos[2010];
int main() {
  scanf("%d%d%d", &a, &n, &m);
  for (int i = 0; i <= a; i++) minn[i] = pos[i] = 1e9;
  for (int l, r, i = 1; i <= n; i++)
    scanf("%d%d", &l, &r), tag[l + 1]++, tag[r + 1]--;
  for (int p, v, i = 1; i <= m; i++)
    scanf("%d%d", &p, &v), pos[p] = min(pos[p], v);
  minn[0] = 0;
  int nw = tag[0];
  for (int i = 1; i <= a; i++) {
    nw += tag[i];
    if (nw) {
      for (int j = i - 1; j >= 0; j--)
        if (pos[j] < 1e9) minn[i] = min(minn[i], minn[j] + (i - j) * pos[j]);
    } else
      minn[i] = minn[i - 1];
  }
  if (minn[a] < 1e9)
    printf("%d", minn[a]);
  else
    printf("-1");
}
