#include<iostream>
using namespace std;
int a[1005];
char b[1005][10];
char d[1005][10];
int c[1005];
int main()
{
int n, k;
cin>>n>>k;
for(int i = 1; i <= n; i++)
{
cin>>a[i];
c[i] = a[i];
}
int ans = 0x3f3f3f3f;
for(int j = 1; j <= n; j++)
{
int cnt = 0;
for(int i = j-1; i >= 1; i--)
{
if(a[i+1] - a[i] != k){
if(a[i+1] - a[i] < k){
b[++cnt][1] = '-';
b[cnt][2] = char(i+48);
b[cnt][3] = char(k - a[i+1] + a[i] + 48);
}
else{
b[++cnt][1] = '+';
b[cnt][2] = char(i+48);
b[cnt][3] = char(a[i+1] - a[i] - k + 48);
}
}
a[i] = a[i+1] - k;
// if(a[i] < 0){
// cnt = 0x3f3f3f3f;
// }
}
for(int i = j+1; i <= n; i++)
{
if(a[i] - a[i-1] != k){
if(a[i] - a[i-1] < k){
b[++cnt][1] = '+';
b[cnt][2] = char(i+48);
b[cnt][3] = char(k - a[i] + a[i-1] + 48);
}
else{
b[++cnt][1] = '-';
b[cnt][2] = char(i+48);
b[cnt][3] = char(a[i] - a[i-1] - k + 48);
}
}
a[i] = a[i-1] + k;
// if(a[i] < 0){
// cnt = 0x3f3f3f3f;
// }
}
for(int i = 1; i <= n; i++)
{
a[i] = c[i];
}
// cout<<cnt<<endl;
ans = min(ans, cnt);
if(cnt == ans){
for(int i = 1; i <= ans; i++)
{
d[i][1] = b[i][1];
d[i][2] = b[i][2];
d[i][3] = b[i][3];
}
}
}
cout<<ans<<endl;
for(int i = 1; i <= ans; i++)
{
cout<<d[i][1]<<' '<<d[i][2]<<' '<<d[i][3]<<endl;
}
return 0;
}