

実行時間制限: 2 sec / メモリ制限: 256 MB
配点 : 点
問題文
都市ネバーモアには、 本の東西方向の通りと 本の南北方向の通りがあり、どちらにも から の番号が付けられています。隣接する二本の東西方向の通りの間の距離はちょうど メートルで、隣接する二本の南北方向の通りの間の距離もちょうど メートルです。
すべての東西方向の通りは、すべての南北方向の通りと交わります。すべての交差点は、交差する南北方向の通りの番号を 、東西方向の通りの番号を として組 で表されます。
この都市には 個の噴水があり、交差点 に設置されています。 通常の交差点と異なり、これらの交差点には交差点を中心とした半径 メートルの円が噴水の外周として描かれており、その内部に道路はありません。
下の図に、都市の一角の道路や噴水の光景の例を示します。

市長たちは、同じ通りを歩いている間に噴水を二回以上見たくありません。ですから、どの東西方向の通りにも噴水は一つまでしか設置されていませんし、南北方向の通りについても同様です。
市民が通行できるのは東西、南北方向の通りと噴水の外周です。交差点 から に移動するには、最短で何メートル歩く必要があるでしょうか?
制約
- のとき
- のとき
- 交差点 は異なり、これらの位置に噴水は設置されていない。
- 入力値はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
交差点 から に移動するために歩くべき最短距離をメートル単位で出力せよ。出力は、絶対誤差または相対誤差が を超えなければ正答とみなされる。
入力例 1Copy
1 1 6 5 3 3 2 5 3 2 4
出力例 1Copy
891.415926535897938
最短経路の一つを下の図に示します。スタート地点は青の点、ゴール地点は紫の点、途中経路は赤の線です。

入力例 2Copy
3 5 6 4 3 3 2 5 3 2 4
出力例 2Copy
400.000000000000000

入力例 3Copy
4 2 2 2 3 3 2 5 3 2 4
出力例 3Copy
211.415926535897938

Score : points
Problem Statement
In the city of Nevermore, there are streets and avenues, both numbered from to . All streets run straight from west to east, and all avenues run straight from south to north. The distance between neighboring streets and between neighboring avenues is exactly meters.
Every street intersects every avenue. Every intersection can be described by pair , where is avenue ID and is street ID.
There are fountains in the city, situated at intersections . Unlike normal intersections, there's a circle with radius meters centered at the intersection, and there are no road parts inside this circle.
The picture below shows an example of how a part of the city with roads and fountains may look like.

City governors don't like encountering more than one fountain while moving along the same road. Therefore, every street contains at most one fountain on it, as well as every avenue.
Citizens can move along streets, avenues and fountain perimeters. What is the shortest distance one needs to cover in order to get from intersection to intersection ?
Constraints
- for
- for
- Intersections and are different and don't contain fountains.
- All input values are integers.
Input
Input is given from Standard Input in the following format:
Output
Print the shortest possible distance one needs to cover in order to get from intersection to intersection , in meters. Your answer will be considered correct if its absolute or relative error doesn't exceed .
Sample Input 1Copy
1 1 6 5 3 3 2 5 3 2 4
Sample Output 1Copy
891.415926535897938
One possible shortest path is shown on the picture below. The path starts at the blue point, finishes at the purple point and follows along the red line.

Sample Input 2Copy
3 5 6 4 3 3 2 5 3 2 4
Sample Output 2Copy
400.000000000000000

Sample Input 3Copy
4 2 2 2 3 3 2 5 3 2 4
Sample Output 3Copy
211.415926535897938
