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

В саду королевы Англии растут n деревьев, выстроенных в ряд. Причем i(1 ≤ i ≤ n) слева дерево имеет высоту ai метров. Сегодня королева решила обновить виды своего сада. Она хочет, чтобы для высот деревьев выполнялось условие: для всех i (1 ≤ i < n), ai + 1 - ai = k, где k — выдуманное королевой число.

К сожалению, у королевского садовника не тысяча рук, и он не может выполнить желание королевы моментально! За одну минуту садовник может либо уменьшить высоту некоторого дерева до любой целой положительной высоты, либо увеличить высоту некоторого дерева до любой целой положительной высоты. Как нужно действовать королевскому садовнику, чтобы выполнить прихоть его величества за минимальное количество минут?

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

В первой строке заданы два целых числа через пробел: n, k (1 ≤ n, k ≤ 1000). Во второй строке задано n целых чисел через пробел a1, a2, ..., an (1 ≤ ai ≤ 1000) — высоты деревьев в ряду.

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

В первой строке выведите единственное число p — минимальное количество минут, которое потребуется садовнику. В следующих p строках выведите описание его действий.

Если садовнику требуется увеличить высоту j-го (1 ≤ j ≤ n) слева дерева на x (x ≥ 1) метров, то в соответствующей строке выведите «+ j x». Если садовнику требуется уменьшить высоту j-го (1 ≤ j ≤ n) слева дерева на x (x ≥ 1) метров, то в соответствующей строке выведите «- j x».

Если существует несколько способов сделать ряд из деревьев красивым за минимальное количество действий, разрешается вывести любой.

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