#include <bits/stdc++.h>
using namespace std;
const int inf = 1000 * 1000 * 1000;
long long tttt;
struct chrom {
  long long ar[4];
  chrom mut(char &how) {
    int t = rand() % 4;
    chrom res;
    for (int i = 0; i < 4; i++) res.ar[i] = ar[i];
    for (int i = t, k = 0; k < 4; k++, i = (i + 1) % 4) {
      if (ar[i] % 2 == 0 && ar[(i + 1) % 4] % 2 == 0) {
        res.ar[i] /= 2;
        res.ar[(i + 1) % 4] /= 2;
        how = i;
        how += 1 << 2;
        return res;
      }
    }
    how = t;
    res.ar[t]++;
    res.ar[(t + 1) % 4]++;
    return res;
  }
  bool isGood() {
    for (int i = 0; i < 4; i++)
      if (ar[i] != 1) return 0;
    return 1;
  }
  friend bool operator<(const chrom &a, const chrom &b) {
    for (int i = 0; i < 4; i++)
      if (a.ar[i] != b.ar[i]) return a.ar[i] < b.ar[i];
    return 0;
  }
};
bool cmp(const chrom &a, const chrom &b) {
  tttt = 0;
  for (int i = 0; i < 4; i++) tttt += (a.ar[i] - 1) - (b.ar[i] - 1);
  return tttt < 0;
}
vector<chrom> v;
map<chrom, char> mp;
const int MAX = 250;
const int C = 3;
int main() {
  srand(time(0));
  chrom t;
  v.reserve(1000);
  for (int i = 0; i < 4; i++) scanf("%lld", &t.ar[i]);
  v.push_back(t);
  mp[t] = -1;
  bool ok = 0;
  for (int i = 0; i < 1000; i++) {
    if (v[0].isGood()) {
      ok = 1;
      break;
    }
    int q = v.size();
    for (int j = 0; j < q; j++)
      for (int k = 0; k < C; k++) {
        char how;
        t = v[j].mut(how);
        if (mp.find(t) != mp.end()) continue;
        mp[t] = how;
        v.push_back(t);
      }
    sort((v).begin(), (v).end(), cmp);
    if (v.size() > MAX) v.resize(MAX);
  }
  if (v[0].isGood() == 0) {
    printf("-1");
    return 0;
  }
  t = v[0];
  char z;
  vector<char> res;
  while ((z = mp[t]) != -1) {
    res.push_back('\n');
    res.push_back((z % 4) + '1');
    res.push_back(z & 4 ? '/' : '+');
    if (z & 4) {
      z %= 4;
      t.ar[z] *= 2;
      t.ar[(z + 1) % 4] *= 2;
    } else {
      z %= 4;
      t.ar[z]--;
      t.ar[(z + 1) % 4]--;
    }
  }
  for (int i = res.size() - 1; i >= 0; i--) printf("%c", res[i]);
  return 0;
}
