Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

The following languages are only available languages for the problems from the contest

Unknown Language Round #2:

- Io-2008-01-07 (Win32)

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

A. Goshtasp, Vishtasp and Eidi

time limit per test

5 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputGoshtasp was known to be a good programmer in his school. One day Vishtasp, Goshtasp's friend, asked him to solve this task:

Given a positive integer *n*, you should determine whether *n* is rich.

The positive integer *x* is rich, if there exists some set of distinct numbers *a*_{1}, *a*_{2}, ..., *a*_{m} such that . In addition: every *a*_{i} should be either a prime number, or equal to 1.

Vishtasp said that he would share his Eidi 50 / 50 with Goshtasp, if he could solve the task. Eidi is money given to children for Noruz by their parents and/or relatives.

Goshtasp needs to solve this problem to get money, you need to solve it to get score!

Input

Input contains a single positive integer *n* (1 ≤ *n* ≤ 10000).

Output

If the number is not rich print 0. Otherwise print the numbers *a*_{1}, ..., *a*_{m}. If several solutions exist print the lexicographically latest solution. Answers are compared as sequences of numbers, not as strings.

For comparing two sequences *a*_{1}, ..., *a*_{m} and *b*_{1}, ..., *b*_{n} we first find the first index *i* such that *a*_{i} ≠ *b*_{i}, if *a*_{i} < *b*_{i} then *a* is lexicographically earlier and if *b*_{i} < *a*_{i} then *b* is lexicographically earlier. If *m* ≠ *n* we add zeroes at the end of the smaller sequence (only for the moment of comparison) and then perform the comparison.

You do not need to minimize the number of elements in sequence (i.e. *m*). You just need to print the lexicographically latest solution.

See samples to find out how to print the sequence.

Examples

Input

11

Output

11=11

Input

545

Output

541+3+1=545

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Aug/23/2017 05:25:06 (c2).

Desktop version, switch to mobile version.

User lists

Name |
---|