#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
char arr[N];
int main() {
  int n;
  char ch;
  string ss;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf(" %c", &ch);
    ss += ch;
  }
  if (ss[n - 1] == '1') {
    return !printf("NO\n");
  }
  string ans;
  if (n == 1 && ch == '0') return !printf("YES\n0");
  if (n == 2 && ss[0] == '1' && ss[1] == '0') return !printf("YES\n1->0");
  int i = n - 3;
  while (i >= 0 && ss[i] != '0') i--;
  if (i >= 0 && ss[i] == '0') {
    puts("YES");
    for (int j = 0; j < i; j++) {
      printf("%c->", ss[j]);
    }
    printf("(0->(");
    i++;
    for (int k = i; k < n - 2; k++) {
      printf("%c->", ss[k]);
    }
    printf("%c))->0\n", ss[n - 2]);
  } else {
    if (ss[n - 2] == '0')
      printf("NO\n");
    else {
      puts("YES");
      for (int j = 0; j < n - 1; j++) {
        printf("%c->", ss[j]);
      }
      puts("0");
    }
  }
  return 0;
}
