Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

F. Трудоустройство
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В мире давно происходит противостояние двух крупных компаний: «Cecsi» и «Poca Pola». Чтобы окончательно покончить со своим конкурентом, компания «Poca Pola» занялась сверхсекретным проектом, для которого в разных офисах им потребовалось суммарно $$$n$$$ новых сторудников. После череды отборов, тестирований и собеседований было выбрано $$$n$$$ подходящих кандидатов, и дело осталось за малым — их трудоустройством.

Так как все кандидаты имеют одинаковые навыки и умения, абсолютно неважно, на какое именно рабочее место отправить каждого из них. Поэтому руководство компании «Poca Pola» решило распределить кандидатов между рабочими местами так, чтобы суммарное расстояние от дома кандидата до места его работы было бы минимально.

Как известно, Земля круглая, поэтому весь мир представляется окружностью, на некоторых точках которой стоит суммарно $$$m$$$ городов. Все города пронумерованы по часовой стрелке целыми числами от $$$1$$$ до $$$m$$$ так, что для любого $$$i$$$ ($$$1 \le i \le m - 1$$$) города с номерами $$$i$$$ и $$$i + 1$$$ соседние, также соседними являются города $$$1$$$ и $$$m$$$. Перемещаться между городами можно только по поверхности Земли, причём из города можно перейти только в один из двух соседних с ним. Расстояние между двумя городами равно минимальному числу переходов из города в соседний, которое нужно совершить, чтобы добраться от одного города до другого. В частности, расстояние между городом и им же самим равно $$$0$$$.

Известно, что рабочие места компании «Poca Pola» находятся в городах $$$a_1, a_2, \ldots, a_n$$$. Также для каждого кандидата известны города их жительства — $$$b_1, b_2, \ldots, b_n$$$. Возможно, что несколько рабочих мест находятся в одном городе, а также возможно, что несколько людей живут в одном городе.

Руководство компании «Poca Pola» слишком занято сверхсекретным проектом, поэтому вам было поручено распределить кандидатов по рабочим местам так, чтобы суммарное расстояние для всех кандидатов от города проживания до города, где он работает, было бы минимальным возможным.

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

Первая строка содержит два целых числа $$$m$$$ и $$$n$$$ ($$$1 \le m \le 10^9$$$, $$$1 \le n \le 200\,000$$$) — количество городов на Земле и количество рабочих мест соответственно.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, a_3, \ldots, a_n$$$ ($$$1 \le a_i \le m$$$) — города, в которых находятся рабочие места.

Третья строка содержит $$$n$$$ целых чисел $$$b_1, b_2, b_3, \ldots, b_n$$$ ($$$1 \le b_i \le m$$$) — города, в которых живут кандидаты.

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

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

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

Примеры
Входные данные
10 3
1 5 5
10 4 6
Выходные данные
3
1 2 3 
Входные данные
10 3
1 4 8
8 3 6
Выходные данные
4
2 3 1 
Примечание

В первом примере, расстояние от каждого кандидата до его работы равно $$$1$$$ (от $$$10$$$ до $$$1$$$, от $$$4$$$ до $$$5$$$ и от $$$6$$$ до $$$5$$$).

Во втором примере:

  • На первую работу назначен второй кандидат, расстояние от $$$3$$$-го города до $$$1$$$ равно $$$2$$$.
  • На вторую работу назначен третий кандидат, расстояние от $$$6$$$-го города до $$$4$$$ равно $$$2$$$.
  • На третью работу назначен первый кандидат, расстояние от $$$8$$$-го города до $$$8$$$ равно $$$0$$$.