#include <bits/stdc++.h>
const int INF = 1e9;
using namespace std;
int main() {
  int n = 0, m = 0, k = 0;
  cin >> n >> m >> k;
  int prices[n];
  int offers = n + m;
  pair<int, int>* sp = new pair<int, int>[offers];
  int i = 0;
  for (; i < n; ++i) {
    sp[i].first = 1;
    cin >> prices[i];
    sp[i].second = 0;
  }
  for (; i < offers; ++i) {
    cin >> sp[i].first;
    cin >> sp[i].second;
  }
  sort(prices, prices + n);
  sort(sp, sp + offers);
  int* pref = new int[n];
  pref[0] = prices[0];
  for (int j = 1; j < n; ++j) {
    pref[j] = pref[j - 1] + prices[j];
  }
  int* dp = new int[k + 1];
  dp[0] = 0;
  for (int j = 0; j < k; ++j) {
    dp[j + 1] = prices[j] + dp[j];
  }
  for (int j = 1; j <= k; ++j) {
    for (int p = n; p < offers; ++p) {
      for (int i = 0; (i + sp[p].first) <= j; ++i) {
        if (!((i + sp[p].second - 1) >= 0 && (i + sp[p].first - 1) >= 0 &&
              (i + sp[p].second - 1) < n && (i + sp[p].first - 1) < n)) {
          continue;
        }
        dp[i + sp[p].first] = min(
            dp[i + sp[p].first],
            dp[i] + (pref[i + sp[p].first - 1] - pref[i + sp[p].second - 1]));
      }
    }
  }
  cout << dp[k] << endl;
  delete[] sp;
  delete[] dp;
  delete[] pref;
  return 0;
}
