#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000000 + 15;
char st[maxn];
int ans;
int ch[maxn][3];
int main() {
  st[0] = st[1] = '0';
  scanf("%s", st + 2);
  int len = strlen(st);
  int one = 0;
  for (int i = len - 1; i > 0; i--)
    if (st[i] == '1' - one) {
      ans++;
      one = st[i - 1] - '0';
      if (one > 0)
        ch[ans][0] = -1;
      else
        ch[ans][0] = 1;
      ch[ans][1] = len - i - 1;
    }
  printf("%d\n", ans);
  for (int i = 1; i <= ans; i++)
    if (ch[i][0] > 0)
      printf("+2^%d\n", ch[i][1]);
    else
      printf("-2^%d\n", ch[i][1]);
  return 0;
}
