#CF2052E. 表达式修正

表达式修正

E. 表达式修正

时间限制:每测试 33内存限制10241024 兆字节

问题描述

伊芙正在学校学习数学。她们已经学会了十进制数字的加减法,并通过做有趣的谜题来练习。她们正在解决的这类谜题描述如下。

她们会得到一个包含加减法的等式,这个等式可能是正确的,也可能是错误的。她们需要验证这个等式:

  • 如果等式正确,直接判定正确;
  • 如果等式不正确,判断是否可以通过移动一个数字到等式中的另一个位置,让它变成正确等式。

形式化定义

  1. 数字 由至少 11 位、至多 1010 位十进制数字(00~99)组成的字符串,无前导零。 唯一允许以 00 开头的数字是 "00" 本身。

  2. 表达式 由一个或多个上述数字通过加号 ++ 或减号 - 连接而成的字符串。

  3. 等式 格式为:表达式 = 表达式,即一个表达式、等号 ==、另一个表达式。

  4. 正确等式 等号左右两侧表达式的计算结果相等。 注意:表达式中的所有数字都是正数,但计算结果可以是负数,也可以超过 1010 位。

  5. 移动一个数字 从字符串中任意位置删除一个数字字符,插入到另一个位置,使得结果仍然是一个合法等式

你的任务是编写程序解决这个表达式修正问题。


输入格式

输入只有一行:一个题目定义的合法等式。 字符串总长度不超过 100100

输出格式

  • 如果输入本身就是正确等式,输出:Correct
  • 如果可以移动恰好一个数字变成正确等式,输出这个正确等式(任意一个即可)
  • 否则输出:Impossible

样例输入输出

样例 1

输入

2+2=4

输出

Correct

样例 2

输入

123456789+9876543210=111111110+11-1

输出

123456789+987654321=1111111100+11-1

样例 3

输入

10+9=10

输出

Impossible

样例 4

输入

24=55-13

输出

42=55-13

样例 5

输入

1000000000-10=9999999999

输出

Impossible