#include <bits/stdc++.h>
using namespace std;
char c[1200000];
int i, j, k, l, n, m, tot, dx[1200000], dy[1200000];
int main() {
  scanf("%s", c + 1);
  n = strlen(c + 1);
  for (i = n; i >= 0; --i)
    if (c[i] == '1') {
      if (i != 0 && c[i - 1] == '1') {
        for (j = i; j >= 0 && c[j] == '1'; --j) c[j] = '0';
        c[j] = '1';
        dx[++tot] = n - i;
        dy[tot] = -1;
      } else
        dx[++tot] = n - i, dy[tot] = 1;
    }
  printf("%d\n", tot);
  for (i = 1; i <= tot; ++i) {
    if (dy[i] == -1)
      printf("-");
    else
      printf("+");
    printf("2^%d\n", dx[i]);
  }
}
