#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii=pair<int, int>;
#define fastio ios_base::sync_with_stdio(false);cin.tie(0)
const int maxn=400055;
ll n,m,k;
pii p[maxn];
int F[maxn>>1];
int V[maxn>>1];
int A[maxn>>1];
ll calc(int ths) {
priority_queue<int> pq;
ll res=0;
for (int i=0; i<m+n; i++) {
auto[_,v]=p[i];
if (v>0) pq.push(v);
else if (v>=-ths){
res+=pq.top();
pq.pop();
}
}
return res;
}
bool chk(int ths){
int acc=0;
for(int i=0; i<m+n; i++){
auto[_,v]=p[i];
if(v>0) acc++;
else if(v>=-ths){
if(acc==0) return false;
acc--;
}
}
return true;
}
int main() {
fastio;
cin >> n >> m;
for (int i=1; i<=n; i++) {
cin >> F[i] >> V[i];
p[i-1]={F[i],V[i]};
}
for (int i=1; i<=m; i++) {
cin >> A[i];
p[n+i-1]={A[i], -i};
}
sort(p,p+n+m, greater<pii>());
int lo=0, hi=m;
while (lo<hi) {
int mid=(lo+hi+1)>>1;
if (chk(mid)) lo=mid;
else hi=mid-1;
}
cout << hi << ' ' << calc(hi);
}