G. О зорках и топорах
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Зорки не любят представителей других рас. Зорки любят тяжёлые кривые топоры. Прямо сейчас каждый из них собирается выбрать себе подходящий топор и продемонстрировать окопавшимся неподалёку представителям других рас свою неготовность к мирной культурной ассимиляции. Всего имеется n зорков и m топоров, причём i-й зорк хочет взять топор массой не меньше ai и кривизной не меньше bi, а j-й топор имеет массу wj и кривизну cj. Зорки не любят задачи по программированию. Зорки любят тяжёлые кривые топоры. Так что решать, какому зорку какой топор нужно выбрать, придётся вам.

Входные данные

Первая строка содержит единственное целое число n (1 ≤ n ≤ 2·105) — количество зорков.

Следующие n строк содержат по два целых числа через пробел: ai и bi (1 ≤ ai, bi ≤ 109) — минимальные масса и кривизна топора, которые устраивают i-го зорка.

Следующая строка содержит единственное целое число m (1 ≤ m ≤ 2·105) — количество топоров.

Следующие m строк содержат по два целых числа через пробел: wj и cj (1 ≤ wj, cj ≤ 109) — масса и кривизна j-го топора.

Выходные данные

Выведите n целых чисел, i-е из которых равно номеру топора, который нужно выдать i-му зорку, чтобы удовлетворить всем его требованиям. Само собой, нельзя выдать один и тот же топор двум различным зоркам.

Если нет никакой возможности раздать топоры, удовлетворив все требования всех зорков, вместо этого выведите единственное целое число  - 1.

Примеры
Входные данные
3
3 4
5 1
2 6
4
5 7
4 5
3 3
5 2
Выходные данные
2 4 1
Входные данные
2
2 5
4 3
2
5 6
3 4
Выходные данные
-1