#include<bits/stdc++.h>
using namespace std;
int n,m;
int main()
{
cin>>n>>m;
getchar();
map<string,long long> go;
vector<string> cai;
for(int i=1;i<=n;i++)
{
string x;
int want;
cin>>x>>want;
go[x]+=want;
cai.push_back(x);
}
map<string,long long> need;
for(int i=1;i<=m;i++)
{
int k;
cin>>k;
getchar();
for(int j=1;j<=k;j++)
{
if(j!=1)
getchar();
string x;
int now;
cin>>x>>now;
need[x]+=now;
}
}
bool ok=true;
for(auto eg:go)
{
go[eg.first]-=need[eg.first];
if(go[eg.first]<0)
ok=false;
}
if(ok)
{
cout<<"YES"<<endl;
for(int i=0;i<cai.size();i++)
{
if(go[cai[i]]>0)
cout<<cai[i]<<" "<<go[cai[i]]<<endl;
}
}
else
cout<<"NO";
}