#include <bits/stdc++.h>
int cmpfunc(const void* a, const void* b) {
  if (*(int*)a - *(int*)b < 0) return -1;
  if (*(int*)a - *(int*)b > 0) return 1;
  if (*(int*)a - *(int*)b == 0) return 0;
}
int main() {
  int n, d, m, i, ans = 0;
  scanf("%d %d", &n, &d);
  int arr[n];
  for (i = 0; i < n; i++) scanf("%d", &arr[i]);
  qsort(arr, n, sizeof(int), cmpfunc);
  scanf("%d", &m);
  for (i = 0; i < m; i++) {
    if (i < n)
      ans += arr[i];
    else
      ans -= d;
  }
  printf("%d\n", ans);
  return 0;
}
