LABYR2 - Number Labyrinth

Fred is a robotic mouse built by a group of students of artificial intelligence. Fred can move around in the labyrinth shown in the picture below. Whenever Fred comes to a place marked by a number, he has to choose one of the possible directions. Behavior of the mouse should look chaotic and complex enough so that it will impress students' supervisor.

+--------4
|        |
|  8--9  |
|  |  |  |
2--7--0  |
|  |     |
1  6-----+

Numbered places in the labyrinth are called nodes. Fred has one integer X stored in its memory and can perform some calculations. In each node (except node 1) he chooses a direction according to X, decreases X by 1 and goes to the chosen node. The direction is chosen according to this rules:

Node 2: Compute X mod 3.
        If the result is 0, go to 7
                         1, go to 1
                         2, go to 4.

Node 4: Let Y be X written backwards (in decimal system).
        If Y>X then go to 6 otherwise go to 2.

Node 6: Compute the number of digits of X (in decimal system).
        If the result is even then go to 4 otherwise go to 7.

Node 7: Compute (X*X) mod 7.
        If the result is 0 go to 2
                         1 go to 6
                         2 go to 8
                         4 go to 0.

Node 8: Compute X mod 5.
        If the result is 2 or 3 then go to 7 otherwise go to 9.

Node 9: If you have come from 8 then go to 0.
        If you have come from 0 then go to 8.

Node 0: Let Y be the third least significant digit of X in decimal system
        (if X<100 then Y=0). If Y<=7 then go to 7 otherwise go to 9. 

At the beginning of each experiment, the experimenter puts the mouse in the node 0 and initializes value X by voice. After that, the mouse starts to move. The mouse displays current value of X on its digital display. The experiment finishes when the mouse enters the node 1, the result of the experiment is the number displayed. If the value of X decreases to zero, the experiment fails and its result is -1.

Input

The input contains several initial values of X (less than two-million) as they were told by the experimenter.

Output

For each value of X in the input write to a separate line of the output the result of the corresponding experiment (see example output).

Example

Input:
thirteen
fourteen
one-thousand
one-million-three-hundred-and-twenty-five-thousand-nine-hundred-and-seventy-nine

Output:
-1
9
789
1325784

Note: New test cases were added. Thanks to Robert Gerbicz and Stephen Merriman's discussion in the forum.


Added by:Fudan University Problem Setters
Date:2007-12-01
Time limit:0.5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: C99 ERL GOSU JS-RHINO
Resource:IPSC 1999

hide comments
2022-06-15 17:28:37 David
No catch. Run the simulation.
2014-11-14 03:34:54 Balakrishnan B
Is there any catch in the problem or just bruteforce?
2010-01-01 05:01:44 Vijay
Use "forty" for 40

Last edit: 2010-01-01 08:15:18
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.