#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n;
string s;
int a[1000100];
int main() {
  int i, j, k, l;
  cin >> s;
  int n = s.size();
  for (i = 0; i < n; i++)
    if (s[i] == '1') a[n - 1 - i] = 1;
  for (i = 0; i < n; i++) {
    if (a[i] == 0) continue;
    j = i;
    while (a[j]) j++;
    if (j - i >= 2) {
      a[i] = -1;
      for (k = i + 1; k <= j; k++) a[k] = 0;
      a[j] = 1;
    }
    i = j - 1;
  }
  int tot = 0;
  for (i = 0; i <= n; i++)
    if (a[i] == 1 || a[i] == -1) tot++;
  printf("%d\n", tot);
  for (i = 0; i <= n; i++) {
    if (a[i] == 0) continue;
    if (a[i] == 1)
      printf("+2^%d\n", i);
    else
      printf("-2^%d\n", i);
  }
  return 0;
}
