#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
int n, a[N];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
  if (n == 1) {
    if (a[1] == 0)
      puts("YES\n0");
    else
      puts("NO");
    return 0;
  }
  if (n == 2) {
    if (a[1] == 1 && a[2] == 0)
      puts("YES\n1->0");
    else
      puts("NO");
    return 0;
  }
  if (a[n] == 1) {
    puts("NO");
    return 0;
  }
  if (a[n - 1] == 1) {
    puts("YES");
    for (int i = 1; i <= n; ++i) {
      printf("%d", a[i]);
      if (i < n) putchar('-'), putchar('>');
    }
    return 0;
  }
  int r = n - 1, l = n - 2;
  while (l > 0 && a[l] == 1) l--;
  if (l > 0) {
    puts("YES");
    for (int i = 1; i <= n; ++i) {
      if (i >= l && i < r) putchar('(');
      printf("%d", a[i]);
      if (i == r)
        for (int j = l; j < r; ++j) putchar(')');
      if (i < n) putchar('-'), putchar('>');
    }
    return 0;
  } else {
    puts("NO");
  }
  return 0;
}
