PROG0249 - Pairs of numbers

no tags 

Find all pairs of numbers $x, y \in \mathbb{N}$ of which the sum equals a given number $n \in \mathbb{N}$, and of which $y$ can be achieved by removing one of the numbers of $x$. The number $x$ must have two digits, of which the first cannot be zero. The number $y$ thus always has one less digit than $x$ and can start with zero.

Input

The first line of the input contains a natural number $t$ ($1 \leq t \leq 100$) that indicates how many test cases there are. The following $t$ lines each contain one integer $n$ ($10 \leq n \leq 10^4$).

Output

For each test case, a number must be issued indicating how many pairs of numbers exist that meet the problem description for the given number $n$. Then, the different sets of numbers $(x,y)$ are written out. Each pair is written on a separate line, in ascending order of the value $x$. The pairs are written in the following format: \[x + y = n\] $x$, $y$ and $n$ are to be replaced by the corresponding numbers, and there must be a single space on either side of the plus sign (+) and the equality sign (=).

Example

Input:

2
302
11

Output:

5
251 + 51 = 302
275 + 27 = 302
276 + 26 = 302
281 + 21 = 302
301 + 01 = 302
1
10 + 1 = 11

Zoek alle paren van getallen $x, y \in \mathbb{N}$ waarvan de som gelijk is aan een gegeven getal $n \in \mathbb{N}$, en waarbij $y$ kan bekomen worden door één van de cijfers van $x$ te schrappen. Het getal $x$ moet altijd uit ten minste twee cijfers bestaan, waarbij het eerste cijfer geen nul kan zijn. Het getal $y$ heeft dus altijd één cijfer minder dan het getal $x$ en kan wel starten met het cijfer nul.

Invoer

De eerste regel van de invoer bevat een natuurlijk getal $t$ ($1 \leq t \leq 100$) dat aangeeft hoeveel testgevallen er zijn. Daarna volgen $t$ regels die elk één enkel natuurlijk getal $n$ ($10 \leq n \leq 10^4$) bevatten.

Uitvoer

Voor elk testgeval moet een getal uitgeschreven worden dat aangeeft hoeveel getallenparen er bestaan die voldoen aan de probleemomschrijving voor het gegeven getal $n$. Daarna worden de verschillende getallenparen $(x,y)$ uitgeschreven. Elk paar wordt uitgeschreven op een afzonderlijke regel, in stijgende volgorde van de waarde $x$. De paren worden uitgeschreven in het volgende formaat: \[ x + y = n\] Hierbij worden $x$, $y$ en $n$ vervangen door de corresponderende getallen, en moet er één spatie staan aan beide zijden van het plusteken (+) en het gelijkheidsteken (=).

Voorbeeld

Invoer:

2
302
11

Uitvoer:

5
251 + 51 = 302
275 + 27 = 302
276 + 26 = 302
281 + 21 = 302
301 + 01 = 302
1
10 + 1 = 11


Added by:Peter Dawyndt
Date:2012-05-22
Time limit:30s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:PY_NBC
Resource:None