CF132D.Constants in the language of Shakespeare

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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 nn . You have to represent it as n=a1+a2+...+amn=a_{1}+a_{2}+...+a_{m} , where each of aia_{i} is a non-negative power of 2, possibly multiplied by -1. Find a representation which minimizes the value of mm .

输入格式

The only line of input contains a positive integer nn , written as its binary notation. The length of the notation is at most 10610^{6} . The first digit of the notation is guaranteed to be 1.

输出格式

Output the required minimal mm . After it output mm lines. Each line has to be formatted as "+2^x" or "-2^x", where xx is the power coefficient of the corresponding term. The order of the lines doesn't matter.

输入输出样例

  • 输入#1

    1111
    

    输出#1

    2
    +2^4
    -2^0
    
  • 输入#2

    1010011
    

    输出#2

    4
    +2^0
    +2^1
    +2^4
    +2^6
    
首页