#include <bits/stdc++.h>
using namespace std;
const int maxn = 200005;
const int maxk = 2005;
long long a[maxn], f[maxk];
long long sum[maxk], p[maxn];
long long n, m, k, x, y, i, j;
int main() {
  scanf("%I64d%I64d%I64d", &n, &m, &k);
  for (i = 1; i <= n; i++) {
    scanf("%I64d", &a[i]);
  }
  memset(p, 0, sizeof(p));
  for (i = 1; i <= m; i++) {
    scanf("%I64d%I64d", &x, &y);
    if (x <= k) {
      p[x] = p[x] >= y ? p[x] : y;
    }
  }
  sort(a + 1, a + n + 1);
  memset(sum, 0, sizeof(sum));
  for (i = 1; i <= k; i++) {
    sum[i] = sum[i - 1] + a[i];
  }
  for (i = 0; i <= k; i++) {
    f[i] = 1e16;
  }
  f[0] = 0;
  for (i = 1; i <= k; i++) {
    for (j = 0; j <= i; j++) {
      f[i] = min(f[i], f[j] + sum[i] - sum[j + p[i - j]]);
    }
  }
  printf("%I64d\n", f[k]);
  return 0;
}
