### Problem Statement

Your new graphical programming language Honu contains the primitives 'L' (turn left), 'R' (turn right), 'U' (turn up), 'D' (turn down), and 'F' (move forward), to describe the actions of a trail-leaving turtle in the three-dimensional sea. Only the 'F' command actually moves the turtle, and it always moves it one unit forward. All other commands simply change the orientation of the turtle. The turn commands all are with respect to the turtle's current orientation. That is, 'R' means the turtle turns towards its current right side; 'U' means the turtle turns towards where its shell is facing.

In addition, commands can be repeated if they are immediately followed by a single digit from 1 to 9. So "F3" moves forward 3 units. There will not be adjacent digits in the command string. Digits may only follow the characters 'U', 'D', 'R', 'L', 'F', or ')'. The repeat count only applies to the immediately previous command, so "FF3" only advances four units.

Commands can also be grouped by parentheses. So "(FRFL)5" traces a zig-zag line, repeating "FRFL" five times.

Parentheses can be nested, so "((F2)2)2" moves forward 8 units.

Given a sequence of these commands, your method must return the Euclidean distance from where the turtle began to where it ended up.

### Definition

 Class: TurtleGraphics Method: distance Parameters: String Returns: double Method signature: double distance(String command) (be sure your method is public)

### Notes

-Your return value must have an absolute or relative error less than 1e-9.

### Constraints

-command will contain between 0 and 50 characters, inclusive.
-command will consist only of the characters 'R', 'L', 'U', 'D', and 'F', '(', ')', and the digits '1'-'9'.
-command will be properly formatted according to the description above.

### Examples

0)

 `"FRF"`
`Returns: 1.4142135623730951`
 Going forward, turning right, and then going forward again leaves the turtle at a distance of the square root of two.
1)

 `"FUFUFUF"`
`Returns: 0.0`
 The turtle traces a vertical square and ends up where he started.
2)

 `"FRFUF"`
`Returns: 1.7320508075688772`
3)

 `"F(((D)4)4)9F"`
`Returns: 2.0`

#### Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=6877

#### Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=10136&pm=6877