#include <iostream>
#include <algorithm>
using namespace std;
//egy-egy napon mennyi munkát tud megoldani
int kapacitas[10005];
int feladatok[10005];
int main() {
int napdb, rendelesdb;
cin >> napdb >> rendelesdb;
//1..=napdb
for (int i = 1; i <= napdb; i++)
{
cin >> kapacitas[i];
}
for (int i = 0; i < rendelesdb; i++)
{
int melyik_nap;
cin >> melyik_nap;
feladatok[melyik_nap]++;
}
//int munkak = 0;
//for (int i = 0; i <= napdb; i++)
//{
// munkak += feladatok[i];
//}
//cout << munkak;
int sol = 0;
int munkaorak = 0;
int elvegzettek = 0;
for (int i = 1; i <= napdb; i++)
{
munkaorak += kapacitas[i];//feltételezzük, hogy mindig dolgozik
//cout <<i<< " munkaorak: " << munkaorak << "\tfeladatok: " << feladatok[i];
//ennyit dolgozott összesen eddig
if (munkaorak >= feladatok[i]) {//Többet dolgozott, mint amennyi lejárna
munkaorak -= feladatok[i];//A dolgozottakból levonom a határidõsöket
sol += feladatok[i];//És elvégezte az összes aznapi feladatot
}
else
{
sol += munkaorak;//A maradékot ledolgozza
munkaorak = 0;//Nem marad már munkaórája, mert mindent megpróbált megcsinálni
}
//cout << "\tsol: " << sol << endl;
}
cout << sol;
return 0;
}