Time limit per test: 0.5 second(s) Memory limit: 65536 kilobytes

input: standard output: standard

You are given two points A and B on the surface of the hyperboloid x^{2}+y^{2}-z^{2}=1. Find the shortest distance between them along the surface.

Input

The input file contains six real numbers: x_{A}, y_{A}, z_{A}, x_{B}, y_{B} and z_{B} (coordinates of A and B), separated by spaces and/or line breaks (-1 ≤ z_{A}, z_{B} ≤ 1).

Output

Output the shortest distance between A and B along the surface of the hyperboloid. Your answer should be accurate within +-0.1.