#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int N = 1e6 + 4;
int solve() {
  string s;
  cin >> s;
  int n = (int)s.size();
  vector<int> fa(n + 2, 0);
  for (int i = 0; i < n; i++) fa[n - 1 - i] = s[i] - '0';
  int i = 0;
  while (i < n) {
    while (i < n and fa[i] == 0) i++;
    if (i == n) break;
    int j = i;
    while (j < n and fa[j] == 1) j++;
    if (j > i + 1) {
      for (int it = i; it < j; it++) fa[it] = 0;
      fa[j] = 1;
      fa[i] = -1;
      i = j;
    } else
      i++;
  }
  int ans = 0;
  for (int i = 0; i < n + 1; i++)
    if (fa[i]) ans++;
  printf("%d\n", ans);
  for (int i = 0; i < n + 1; i++) {
    if (fa[i] > 0)
      printf("+2^%d\n", i);
    else if (fa[i] < 0)
      printf("-2^%d\n", i);
  }
  return 0;
}
int main() {
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
