Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

В условии задачи недавно были сделаны правки. Просмотреть изменения.

×
E. Distributing Parts

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou are an assistant director in a new musical play. The play consists of *n* musical parts, each part must be performed by exactly one actor. After the casting the director chose *m* actors who can take part in the play. Your task is to assign the parts to actors. However, there are several limitations.

First, each actor has a certain voice range and there are some parts that he cannot sing. Formally, there are two integers for each actor, *c*_{i} and *d*_{i} (*c*_{i} ≤ *d*_{i}) — the pitch of the lowest and the highest note that the actor can sing. There also are two integers for each part — *a*_{j} and *b*_{j} (*a*_{j} ≤ *b*_{j}) — the pitch of the lowest and the highest notes that are present in the part. The *i*-th actor can perform the *j*-th part if and only if *c*_{i} ≤ *a*_{j} ≤ *b*_{j} ≤ *d*_{i}, i.e. each note of the part is in the actor's voice range.

According to the contract, the *i*-th actor can perform at most *k*_{i} parts. Besides, you are allowed not to give any part to some actors (then they take part in crowd scenes).

The rehearsal starts in two hours and you need to do the assignment quickly!

Input

The first line contains a single integer *n* — the number of parts in the play (1 ≤ *n* ≤ 10^{5}).

Next *n* lines contain two space-separated integers each, *a*_{j} and *b*_{j} — the range of notes for the *j*-th part (1 ≤ *a*_{j} ≤ *b*_{j} ≤ 10^{9}).

The next line contains a single integer *m* — the number of actors (1 ≤ *m* ≤ 10^{5}).

Next *m* lines contain three space-separated integers each, *c*_{i}, *d*_{i} and *k*_{i} — the range of the *i*-th actor and the number of parts that he can perform (1 ≤ *c*_{i} ≤ *d*_{i} ≤ 10^{9}, 1 ≤ *k*_{i} ≤ 10^{9}).

Output

If there is an assignment that meets all the criteria aboce, print a single word "YES" (without the quotes) in the first line.

In the next line print *n* space-separated integers. The *i*-th integer should be the number of the actor who should perform the *i*-th part. If there are multiple correct assignments, print any of them.

If there is no correct assignment, print a single word "NO" (without the quotes).

Examples

Input

3

1 3

2 4

3 5

2

1 4 2

2 5 1

Output

YES

1 1 2

Input

3

1 3

2 4

3 5

2

1 3 2

2 5 1

Output

NO

Codeforces (c) Copyright 2010-2020 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/30/2020 19:24:34 (g1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|