#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, m;
vector<pair<int, int>> a;
vector<int> b;
int solve() {
sort(a.rbegin(), a.rend());
sort(b.begin(), b.end());
int t = m - 1;
for (auto p : a) {
if (lower_bound(b.begin(), b.end(), p.second) - b.begin() <= t) t--;
}
return m - t - 1;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m;
a.resize(n), b.resize(m);
for (auto &p : a) {
cin >> p.second >> p.first;
}
for (auto &c : b) {
cin >> c;
}
cout << solve() << '\n';
return 0;
}