#include<bits/stdc++.h>
using namespace std;
struct part{
int l,r,id;
}p[100005];
struct perf{
int l,r,k,id;
}f[100005];
int ans[100005],book[100005];
bool cmp1(part a,part b)
{
if(a.l==b.l)
return a.r>b.r;
else
return a.l<b.l;
}
bool cmp2(perf a,perf b)
{
if(a.l==b.l)
return a.r<b.r;
else
return a.l<b.l;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d%d",&p[i].l,&p[i].r);
for(int i=1;i<=n;i++)
p[i].id=i;
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++)
scanf("%d%d%d",&f[i].l,&f[i].r,&f[i].k);
for(int i=1;i<=m;i++)
f[i].id=i;
sort(p+1,p+n+1,cmp1);
sort(f+1,f+m+1,cmp2);
for(int i=1;i<=m;i++)
book[i]=f[i].k;
for(int i=1;i<=n;i++)
{
bool flag=true;
for(int j=1;j<=m;j++)
{
if(book[j]<=0)
continue;
if(p[i].l>=f[j].l && p[i].r<=f[j].r)
{
flag=false;
ans[p[i].id]=f[j].id;
book[j]--;
break;
}
}
if(flag)
{
cout<<"NO";
return 0;
}
}
cout<<"YES\n";
for(int i=1;i<=n;i++)
printf("%d ",ans[i]);
return 0;
}