P12096 [NERC2024] Expression Correction

题目描述

Eve 正在学校学习数学。他们已经学会了如何进行十进制数字的加法和减法,并通过解决有趣的难题进行练习。他们正在解决的难题的具体描述如下:给定一个包含加法和减法的等式,可能是正确的,也可能是错误的。他们需要验证这个等式,如果它不是正确的,那么他们需要判断是否可以通过将一个数字移动到等式的不同位置,使其成为正确的等式。 让我们正式定义这个难题中的等式: - **数字** 是一个包含 **至少一个,至多十个十进制数字**($0$ 到 $9$)的字符串,且没有额外的前导零(唯一允许以零开头的数字是 $\texttt{0}$)。 - **表达式** 是由一个或多个数字组成的字符串,这些数字通过加法($\texttt{+}$)或减法($\texttt{-}$)操作符连接。 - **等式** 是一个由表达式(如上所述)组成的字符串,后面跟一个等号($\texttt{=}$),然后是另一个表达式。 - **正确的等式** 是一个等式,其中等号两边的表达式根据标准的算术运算计算后得到相同的十进制数。请注意,尽管表达式中的所有数字都是正数,但计算结果可以为负数。此外,计算结果可以超过 10 位数字。 - **移动数字** 在一个等式中意味着从字符串的任何位置删除一个数字并将其插入到另一个位置,从而使得结果字符串仍然是一个等式。 这个难题相当简单,一旦你知道如何进行十进制数字的加法和减法,但是它也很容易出错。在进行计算时很容易分心并犯错误。你的任务是编写一个程序,帮助 Eve 解决表达式纠错难题。

输入格式

输入文件包含一行 —— 如题目所述定义的等式。输入字符串的总长度不超过 100 个字符。

输出格式

输出一行。如果输入包含一个正确的等式,输出一个单词 $\texttt{Correct}$。否则,如果输入的等式通过移动一个数字可以变成正确的等式,输出得到的正确等式。如果有多个可能的正确等式,可以输出其中任何一个。否则,输出一个单词 $\texttt{Impossible}$。