#include <bits/stdc++.h>
using namespace std;
vector<string> computa(vector<int> ini) {
  set<vector<int> > s;
  set<vector<int> > visitados;
  map<vector<int>, vector<int> > anterior;
  map<vector<int>, string> operacion;
  s.insert(ini);
  visitados.insert(ini);
  while (s.find(vector<int>(4, 1)) == s.end()) {
    set<vector<int> > nexts;
    for (set<vector<int> >::iterator it = s.begin(); it != s.end(); it++) {
      vector<int> act = *it;
      for (int i = 0; i < 4; i++) {
        int j = (i + 1) % 4;
        {
          vector<int> next = act;
          next[i]++;
          next[j]++;
          if (visitados.find(next) == visitados.end()) {
            visitados.insert(next);
            nexts.insert(next);
            anterior[next] = act;
            operacion[next] = "+" + string(1, char('1' + i));
          }
        }
        if (act[i] % 2 == 0 and act[j] % 2 == 0) {
          vector<int> next = act;
          next[i] /= 2;
          next[j] /= 2;
          if (visitados.find(next) == visitados.end()) {
            visitados.insert(next);
            nexts.insert(next);
            anterior[next] = act;
            operacion[next] = "/" + string(1, char('1' + i));
          }
        }
      }
    }
    s = nexts;
  }
  vector<int> act(4, 1);
  vector<string> sol;
  while (anterior.find(act) != anterior.end()) {
    vector<int> ant = anterior[act];
    sol.push_back(operacion[act]);
    act = ant;
  }
  reverse(sol.begin(), sol.end());
  return sol;
}
int maxpos(vector<int> &v) {
  int imax = 0;
  for (int i = 1; i < 4; i++)
    if (v[i] > v[imax]) imax = i;
  return imax;
}
int main() {
  vector<int> ini(4);
  for (int i = 0; i < 4; i++) cin >> ini[i];
  int imax = maxpos(ini);
  while (ini[imax] > 5) {
    int ii = (imax + 1) % 4;
    if (ini[imax] % 2 == 0) {
      if (ini[ii] % 2 == 0) {
        cout << "/" << imax + 1 << endl;
        ini[imax] /= 2;
        ini[ii] /= 2;
      } else {
        cout << "+" << ii + 1 << endl;
        ini[ii]++;
        int jj = (ii + 1) % 4;
        ini[jj]++;
        cout << "/" << imax + 1 << endl;
        ini[imax] /= 2;
        ini[ii] /= 2;
      }
    } else {
      cout << "+" << imax + 1 << endl;
      ini[imax]++;
      ini[ii]++;
      if (ini[ii] % 2 == 0) {
        cout << "/" << imax + 1 << endl;
        ini[imax] /= 2;
        ini[ii] /= 2;
      } else {
        cout << "+" << ii + 1 << endl;
        ini[ii]++;
        int jj = (ii + 1) % 4;
        ini[jj]++;
        cout << "/" << imax + 1 << endl;
        ini[imax] /= 2;
        ini[ii] /= 2;
      }
    }
    imax = maxpos(ini);
  }
  vector<string> sol = computa(ini);
  for (int i = 0; i < int(sol.size()); i++) cout << sol[i] << endl;
}
