F. Робот на кольце
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Задано кольцо, разбитое на n клеток. Клетки пронумерованы, начиная с некоторой, целыми числами от 1 до n по часовой стрелке. В i-й клетке записано целое число ai. Робот Симба стоит в клетке номер s.

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

Симба хочет выписать числа из каждой клетки ровно по одному разу, но при этом последовательность выписанных чисел должна быть неубывающей. Определите наименьшее количество единиц времени, необходимое Симбе, чтобы выписать все числа.

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

В первой строке находятся два целых числа n и s (1 ≤ s ≤ n ≤ 2000) — количество клеток в кольце и начальная позиция Симбы.

Во второй строке находятся n целых чисел ai ( - 109 ≤ ai ≤ 109) — числа записанные в клетках. Числа заданы для клеток в порядке от 1-й до n-й. Среди этих чисел могут быть одинаковые.

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

В первой строке выведите целое число t — наименьшее количество единиц времени, необходимое роботу Симбе.

В каждой из следующих n строк выведите направление движения робота и количество клеток, проходимых в этом направлении. После этого передвижения робот выписывает число записанное в клетке, в которую Симба попадает. Направление и количество клеток нужно вывести в виде +x в случае перемещения в направлении нумерации на x клеток или -x в случае перемещения на x клеток против направлениия нумерации (0 ≤ x ≤ n - 1).

Заметим, что сумма всех абсолютных значений (модулей) величин x должна быть равна t.

Примеры
Входные данные
9 1
0 1 2 2 2 1 0 1 1
Выходные данные
12
+0
-3
-1
+2
+1
+2
+1
+1
+1
Входные данные
8 1
0 1 0 1 0 1 0 1
Выходные данные
13
+0
+2
+2
+2
-1
+2
+2
+2
Входные данные
8 1
1 2 3 4 5 6 7 8
Выходные данные
7
+0
+1
+1
+1
+1
+1
+1
+1
Входные данные
8 1
0 0 0 0 0 0 0 0
Выходные данные
7
+0
+1
+1
+1
+1
+1
+1
+1