#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
const int M = 2005;
long long dp[M];
long long nums[N];
long long offer[M];
bool visited[M];
long long func(long long k) {
  if (visited[k]) return dp[k];
  if (k <= 0) return 0LL;
  for (long long i = 1; i < k + 1; i += 1) {
    if (offer[i])
      dp[k] = min(dp[k], func(k - i) + nums[k] - nums[k - (i - offer[i])]);
  }
  visited[k] = true;
  return dp[k];
}
int main() {
  long long n, m, k;
  cin >> n >> m >> k;
  for (long long i = 1; i < n + 1; i += 1) cin >> nums[i];
  sort(nums, nums + n + 1);
  for (long long i = 1; i < n + 1; i += 1) nums[i] += nums[i - 1];
  for (long long i = 1; i < m + 1; i += 1) {
    long long x, y;
    cin >> x >> y;
    if (x > k) continue;
    offer[x] = max(offer[x], y);
  }
  for (long long i = 1; i < k + 1; i += 1) dp[i] = nums[i];
  cout << func(k) << "\n";
  return 0;
}
