Point: 100.0
Time limit: 1.0s
Memory limit: 250 M
Input: stdin
Output: stdout
Author:  
Problem type
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text

Nữ Hoàng ở vương quốc Olympia có \(N\) cây trong vườn. Cây thứ i có chiều cao là \(A_i\) milimet. Hôm nay, nữ hoàng muốn cải tạo lại khu vườn của mình, bà muốn chiều cao các cây phải thỏa mãn rằng: với mọi \(i (1 <= i < n)\) thì \(a_i+1 – a_i = k\), trong đó \(k\) là một số cho trước.
Người làm vườn của nữ hoàng có khả năng đặc biệt, có thể thay đổi chiều cao của các cây tùy ý tăng hoặc giảm. Tuy nhiên, ông lại không biết là nên chọn những cây nào để thay đổi sao cho số cây cần thay đổi tối thiểu. Bạn hãy giúp người làm vườn của nữ hoàng đáp ứng được yêu cầu của bà với số lần thay đổi chiều cao của cây là ít nhất.

Input format

  • Dòng 1 chứa hai số nguyên \(N\)\(K\) \((1 \leq N, k \leq 1000)\)
  • Dòng 2 chứa \(N\) số nguyên là chiều cao của các cây \(a_1, a_2, …, a_n (1 \leq a_i \leq 1000)\)

Output format

  • Dòng 1 là số lượng cây ít nhất cần thay đổi độ cao của nó.
  • Các dòng tiếp theo, mỗi dòng chứa bộ giá trị sau:
    • \(d\) \(j\) \(x\) – trong đó \(d\) là dấu \(+\) nếu cần tăng cây thứ \(j\) thêm \(x\) đơn vị, \(d\) là dấu \(-\) nếu giảm cây thứ \(j\) đi \(x\) đơn vị.
    • Các dòng giá trị \(j\) phải tăng dần.

Example

Sample Input

4 1
1 2 1 5

Sample Output

2
+ 3 2
- 4 1