Shakespeare is a widely known esoteric programming language in which programs look like plays by Shakespeare, and numbers are given by combinations of ornate epithets. In this problem we will have a closer look at the way the numbers are described in Shakespeare.
Each constant in Shakespeare is created from non-negative powers of 2 using arithmetic operations. For simplicity we'll allow only addition and subtraction and will look for a representation of the given number which requires a minimal number of operations.
You are given an integer $*n*$. You have to represent it as $*n* = *a*_{1} + *a*_{2} + ... + *a*_{*m*}$, where each of $*a*_{*i*}$ is a non-negative power of 2, possibly multiplied by -1. Find a representation which minimizes the value of $*m*$.
Input
The only line of input contains a positive integer $*n*$, written as its binary notation. The length of the notation is at most $10^{6}$. The first digit of the notation is guaranteed to be 1.
Output
Output the required minimal $*m*$. After it output $*m*$ lines. Each line has to be formatted as "+2^x" or "-2^x", where $*x*$ is the power coefficient of the corresponding term. The order of the lines doesn't matter.
样例
1111
2
+2^4
-2^0
1010011
4
+2^0
+2^1
+2^4
+2^6
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。