#include <bits/stdc++.h>
int n, a[100100];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", a + i);
  if (a[n] == 1) {
    puts("NO");
    return 0;
  }
  if (n == 1) {
    puts("YES");
    puts("0");
    return 0;
  }
  if (a[n - 1] == 1) {
    puts("YES");
    for (int i = 1; i < n; i++) printf("%d->", a[i]);
    puts("0");
    return 0;
  }
  int k;
  for (k = n - 2; k; k--)
    if (a[k] == 0) break;
  if (k == 0) {
    puts("NO");
    return 0;
  }
  puts("YES");
  for (int i = 1; i < k; i++) printf("%d->", a[i]);
  printf("(0->(");
  for (int i = k + 1; i < n - 1; i++) printf("1->");
  puts("0))->0");
  return 0;
}
