#include <bits/stdc++.h>
using namespace std;
void p(int i) { cout << "+" << (i % 4) + 1 << endl; }
void d(int i) { cout << "/" << (i % 4) + 1 << endl; }
void search(int bd[4]) {
  vector<int> cur(bd, bd + 4);
  vector<int> goal;
  goal.push_back(1);
  goal.push_back(1);
  goal.push_back(1);
  goal.push_back(1);
  map<vector<int>, pair<pair<bool, int>, vector<int> > > close;
  queue<vector<int> > q;
  q.push(cur);
  close.insert(make_pair(cur, make_pair(make_pair(false, -1), vector<int>())));
  while (q.size()) {
    vector<int> cc = q.front();
    q.pop();
    if (cc == goal) {
      vector<pair<bool, int> > route;
      while (close[cc].first.second >= 0) {
        route.push_back(close[cc].first);
        cc = close[cc].second;
      }
      reverse(route.begin(), route.end());
      for (int i = 0; i < route.size(); i++) {
        if (!route[i].first)
          p(route[i].second);
        else
          d(route[i].second);
      }
      return;
    }
    vector<int> o = cc;
    for (int i = 0; i < 4; i++) {
      cc[i]++;
      cc[(i + 1) % 4]++;
      if (!close.count(cc)) {
        q.push(cc);
        close.insert(make_pair(cc, make_pair(make_pair(false, i), o)));
      }
      cc[i]--;
      cc[(i + 1) % 4]--;
      if (cc[i] % 2 == 0 && cc[(i + 1) % 4] % 2 == 0) {
        cc[i] /= 2;
        cc[(i + 1) % 4] /= 2;
        if (!close.count(cc)) {
          q.push(cc);
          close.insert(make_pair(cc, make_pair(make_pair(true, i), o)));
        }
        cc[i] *= 2;
        cc[(i + 1) % 4] *= 2;
      }
    }
  }
}
void solve(int bd[4]) {
  for (;;) {
    if (bd[0] <= 3 && bd[1] <= 3 && bd[2] <= 3 && bd[3] <= 3) break;
    for (int i = 0; i < 4; i++) {
      if (bd[i] > 2) {
        if (bd[i] % 2 == 0) {
          if (bd[(i + 1) % 4] % 2 == 0) {
            bd[(i + 0) % 4] /= 2;
            bd[(i + 1) % 4] /= 2;
            d(i);
          } else {
            bd[(i + 1) % 4]++;
            bd[(i + 2) % 4]++;
            bd[(i + 0) % 4] /= 2;
            bd[(i + 1) % 4] /= 2;
            p(i + 1);
            d(i);
          }
        } else {
          if (bd[(i + 1) % 4] % 2 == 1) {
            bd[(i + 0) % 4]++;
            bd[(i + 1) % 4]++;
            bd[(i + 0) % 4] /= 2;
            bd[(i + 1) % 4] /= 2;
            p(i);
            d(i);
          } else {
            bd[(i + 0) % 4]++;
            bd[(i + 1) % 4]++;
            bd[(i + 1) % 4]++;
            bd[(i + 2) % 4]++;
            bd[(i + 0) % 4] /= 2;
            bd[(i + 1) % 4] /= 2;
            p(i);
            p(i + 1);
            d(i);
          }
        }
        break;
      }
    }
  }
  search(bd);
}
int main() {
  int bd[4] = {};
  for (int i = 0; i < 4; i++) cin >> bd[i];
  solve(bd);
  return 0;
}
