#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
int A[4], a, C[4];
bool dn() {
  for (int i(0); i < 4; i++)
    if (A[i] ^ 1) return 0;
  return 1;
}
int ps() {
  for (int i(0); i < 4; i++)
    if (!(A[i] & 1) && !(A[(i + 1) & 3] & 1)) return i;
  return -1;
}
vector<pair<int, int> > O;
bool ok() {
  O.clear();
  while (!dn()) {
    if (O.size() > 999u) return 0;
    a = ps();
    if (rand() % 2 && ~a) {
      assert(!(A[a] & 1) && !(A[(a + 1) & 3] & 1));
      O.push_back({1, a + 1}), A[a] /= 2, A[(a + 1) & 3] /= 2;
      continue;
    }
    a = rand() & 3;
    O.push_back({0, a + 1});
    ++A[a], ++A[(a + 1) & 3];
  }
  return 1;
}
int main(void) {
  srand(time(0));
  ga(4, C);
  do memcpy(A, C, sizeof(A));
  while (!ok());
  for (auto &h : O) printf("%c%d\n", h.first ? 47 : 43, h.second);
  return 0;
}
