とある海辺の小さな国に、小さな可愛らしいお姫様がいました。お姫様は病弱だけれども意志が強く、そしてとある幼なじみの男の子ととっても仲良しでした。いつもお姫様に振り回されている彼は、騎士になるために毎日修行しています。好奇心旺盛なお姫様は、いつも彼を強引に誘って、お城の外へ冒険に出かけるのでした。
騎士見習いの男の子は、魔法のブラシと七色のインクを使って不思議な魔法を放つことができます。例えば、直線を描けば絵の具は大きな縦となって二人の身を守り、くさび型を描けば矢じりとなって敵を攻撃するのです。
ある日、図書館で魔法に関する本を読んでいたお姫様は、とても強力な魔法の使い方が書かれているのを見付けました。その魔法は、絶妙なバランスで大きさと互いの位置関係が決められた、いくつかの円を描くことによって発動します。お姫様はさっそく男の子を呼んで、その魔法を試させることにしました。
男の子が不安になりながらその魔法を放ってみると、ちゅどーん!と大きな音とまぶしい光が炸裂しました。大成功です。お姫様はとっても喜びました。これさえあれば、どんな敵もきっとイチコロです。 しかし男の子は、やがてこの魔法に大きな問題があることに気付きました。いくつもの円を描くこの魔法は、たくさんのインクを使ってしまうのです。一度にそんなにたくさんのインクは持てないので、彼はできるだけインクを節約したいと思いました。
二人は何度も何度も試行錯誤をして、ひとつの事実を突き止めました。決められた円を全部完全に描かなくても、描いたときと同じ威力が得られることがあるのです。もっと言えば、描かなければいけないのは、円のうち敵が他のどの円周も乗り越えずに触れられるような部分だけです。他の部分は描く必要がありません。
図を使って例を示しましょう。黒い実線は当初描く予定だった円を、赤い点は敵の位置を、そして赤い実線は男の子が実際に描けばよい線を表します。
彼は1単位長の線を描く度に、1単位体積のインクを消費します。さて、二人はどれだけインクを消費するでしょうか? 計算するプログラムを作成してください。
各データセットの最初の行には、魔法を構成する円の数 n が与えられます。
続く n 行には、1行に1つ、円の情報が与えられます。 1つの円の情報は3つの実数 x, y, r から成り、それぞれその円の中心の x座標、中心の y座標、そして半径を表します。
続く行に、敵の位置 x, y が与えられます。
n = 0のとき、入力は終了します。
それぞれのデータセットに対して必要なインクの量を出力してください。 小数点以下何桁でも出力してよく、1.0e-5未満の誤差を含んでいても構いません。
2 50 50 50 100 100 50 75 75 2 50 50 50 100 100 50 50 50 0
157.07963268 314.15926486