#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  int a[100];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  int b[30];
  for (int i = 0; i < m; i++) {
    cin >> b[i];
  }
  long long int fm = 0;
  vector<int> auc;
  for (int i = 0; i < n; i++) {
    bool flg = 1;
    for (int j = 0; j < m; j++) {
      if (i == b[j] - 1) {
        auc.push_back(a[i]);
        flg = 0;
        break;
      }
    }
    if (flg == 1) {
      fm += a[i];
    }
  }
  sort(auc.begin(), auc.end());
  int pos = 0;
  int ls = auc.size() - 1;
  for (int i = 0; i < m; i++) {
    if (fm > auc[pos]) {
      if (fm > auc[ls]) {
        fm *= 2;
        pos++;
      } else {
        fm += auc[ls];
        ls--;
      }
    } else {
      fm += auc[ls];
      ls--;
    }
  }
  cout << fm << endl;
  return 0;
}
