#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; vector> a(n); vector b; for(int i = 0; i < n; i++) cin >> a[i].first; for(int i = 0; i < n; i++) cin >> a[i].second; for(int i = 0; i < m; i++){ int t, v; cin >> t >> v; if(t == 0){ a.emplace_back(v, 1 << 30); }else{ b.emplace_back(v); } } priority_queue pq; sort(a.begin(), a.end()); sort(b.rbegin(), b.rend()); int ans = 0; for(int i = 0; i < a.size(); i++){ int u, v; tie(u, v) = a[i]; if(v >> 30 & 1){ if(!pq.empty()) pq.pop(); }else{ pq.emplace(v); } } for(int i = 0; i < b.size(); i++){ while(!pq.empty() && pq.top() > b[i]){ pq.pop(); ans++; } if(!pq.empty()) pq.pop(); } cout << ans + pq.size() << '\n'; }