CF132D Constants in the language of Shakespeare
Description
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 Format
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 Format
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.