Everyone has heard of spoonerisms, named after William Archibald Spooner, an Oxford professor who had a habit of swapping prefixes of words, often with comical results. May I show you to your seat?
became May I sew you to your sheet?
and a crushing blow
became a blushing crow.
Just imagine him as a student of arithmetic, occasionally swapping the prefixes of the numbers he was calculating with and then wondering why his equations never made any sense. For instance, when he writes:
what he really intended to write was:
(He swapped prefixes “9” and “669” in the first and third numbers.) And when he writes:
what he really intended to write was:
(He swapped the prefix “72” with the prefix “68” in the first and second numbers.)
Grading homework from young Mr. Spooner is quite a challenge. Fleas pined a way to help!
The input consists of a single line containing an expression of the form $x + y = z$ or $x * y = z$, where $x$, $y$, and $z$ are positive integers less than $2^{31}$. There will be single spaces surrounding the $+$ and $*$ operators and the $=$ sign. The expression will not be a mathematically correct equation.
Output a mathematically correct equation consisting of the input line modified by swapping proper
prefixes of two of the three numbers $x$, $y$, $z$. (A proper prefix of a string $s$ is a prefix that is neither empty nor equal to $s$.) Separate the numbers, operators, and the $=$ sign with single spaces. All integers in the correct equation will be non-negative and less than $2^{31}$. There is guaranteed to be only one possible correct equation that can be formed by swapping proper prefixes.
92 + 2803 = 669495
· · · · \n
6692 + 2803 = 9495
· · · · \n
6891 * 723 = 4979753
· · · · \n
7291 * 683 = 4979753
· · · · \n