Робот Бендер решил сделать Фраю подарок на день рождения. Он вбил n гвоздей и в определенном порядке пронумеровал их. Робот решил сделать из имеющихся у него железных прутьев картину, представляющую собой замкнутую ломаную, вершинами которой являются гвозди в заданном порядке, а отрезки ломаной параллельны осям координат. Самопересечения допускаются. Бендер может взять подходящий прут, согнуть его ровно один раз в любом месте под углом 90 градусов и прикрепить местом сгиба к еще не занятому гвоздю, а два конца прикрепить к двум соседним. Гвоздь считается незанятым, если к нему не прикреплен ни один прут (ни конец, ни место сгиба). Никакой прут нельзя использовать дважды. Вы можете использовать не все прутья.
Помогите Бендеру решить эту непростую задачу.
В первой строке даны два натуральных числа n и m (4 ≤ n ≤ 500, 2 ≤ m ≤ 500, n четно) — количество гвоздей и прутьев соответственно. В следующих n строках даны координаты гвоздей в том порядке, в котором они соединяются ломаной. В (n + 2)-ой строке заданы m чисел — длины прутьев. Все координаты — целые числа, не превосходящие по модулю 104. Длины прутьев — целые числа от 1 до 200 000. Никакой прут нельзя использовать дважды. Гарантируется, что все отрезки заданной ломаной параллельны осям координат и никакие 3 подряд идущих гвоздя не лежат на одной прямой.
Если задача Бендера неразрешима, выведите NO. Иначе в первой строке выведите YES, а во второй строке выведите n чисел — i-ое число — номер прута, место сгиба которого прикреплена к i-ому гвоздю, или -1, если нет такого прута.
Если решений несколько, выведите любое.
4 2
0 0
0 2
2 2
2 0
4 4
YES
1 -1 2 -1
6 3
0 0
1 0
1 1
2 1
2 2
0 2
3 2 3
YES
1 -1 2 -1 3 -1
6 3
0 0
1 0
1 1
2 1
2 2
0 2
2 2 3
NO
Название |
---|