#include <bits/stdc++.h>
using namespace std;
int dr[] = {-1, 0, 1, 0, 1, 1, -1, -1};
int dc[] = {0, 1, 0, -1, 1, -1, 1, -1};
typedef struct Rect {
  float xmin;
  float ymax;
  float xmax;
  float ymin;
};
typedef struct Point {
  float x, y;
};
int main() {
  unsigned long int i, n, ar[5], flag, sum;
  while (scanf("%lu %lu %lu %lu", &ar[0], &ar[1], &ar[2], &ar[3]) == 4) {
    while (1) {
      sum = 0;
      for (i = 0; i <= 3; i++) sum += ar[i];
      if (sum == 4) break;
      flag = 0;
      for (i = 0; i <= 3; i++)
        if (ar[i] % 2 == 0 && (ar[(i + 1) % 4] % 2 == 0)) {
          ar[i] = ar[i] / 2;
          ar[(i + 1) % 4] = ar[(i + 1) % 4] / 2;
          printf("/%lu\n", i + 1);
          flag = 1;
          break;
        }
      if (flag) continue;
      flag = 0;
      for (i = 0; i <= 3; i++)
        if (ar[i] % 2 == 1 && (ar[(i + 1) % 4] % 2 == 1) &&
            ((ar[i] + ar[(i + 1) % 4]) > 2)) {
          ar[i]++;
          ar[(i + 1) % 4]++;
          printf("+%lu\n", i + 1);
          flag = 1;
          break;
        }
      if (flag) continue;
      for (i = 0; i <= 3; i++)
        if ((ar[i] != ar[(i + 1) % 4])) {
          ar[i]++;
          ar[(i + 1) % 4]++;
          printf("+%lu\n", i + 1);
          break;
        }
    }
  }
  return 0;
}
