#include <iostream>
#include <bits/stdc++.h>
#define endl '\n';
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef vector<int> v;
typedef vector<long long> vll;
typedef vector<long long int> vlli;

void res() {
    int n,q;
    cin>>n>>q;
    v h,d(n),p(n);
    bool pk(false),dk(false), pr(false), pr1(false);
    for(int i=0;i<n;++i) {
        cin>>d[i]>>p[i];
        if(d[i]!=0 && !pr) {
            dk=false;
        }
        else {
            pr=true;
            dk=true;
        }
        if(p[i]!=0 && !pr1) {
            pk=false;
        }
        else {
            pr1=true;
            pk=true;
        }
    }
    sort(d.begin(), d.end());
    sort(p.begin(), p.end());
    for(int i=0;i<q;++i) {
        int hl; cin>>hl;
        h.push_back(hl);
    }
    if(pk) {
        int p0=0;
        for(int i=0;i<n;++i) {
            h[ht] -= p0;
            hn1-=p[i];
            p0+=p[i];
            xn2++;
            q--;
        }
        if(q==0 && h[j])
    } else {
        for(int i=0;i<n;++i) {
            if(xn1>q) {
                xn1n=true;
                break;
            }
            if(hn1<=0) {
                break;
            }
            hn1-=d[i];
            xn1++;
        }
    }
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    res();
    return 0;
}