Sumo and Balloon
题号:NC207579
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

Sumo 喜欢吹气球,更喜欢吹炸气球。

今天,他准备了一面粘满密密麻麻钉子的墙(尖锐面朝着 Sumo),站在离墙一定距离的地方朝着垂直于墙面的方向吹气球。他想知道,从他往气球里吹起开始计时,气球会在什么时间点爆炸。

为了方便计算,我们对问题进行简化:
  • 气球被视为是一个理想的球体,可以无限增大。
  • 气球的吹气口位于气球的边缘,吹气时,气球的增大会导致球心顺着吹气的方向平移,不考虑重力对气球下垂的影响。
  • 在整个吹气过程中,Sumo 的嘴一直固定不动,匀速向气球内吹气,吹气的方向始终垂直于墙面。
  • 不考虑气体受压力影响的体积变化。
  • 忽略钉子的长度,并且气球只要一接触墙面,就立刻发生爆炸,不管吹了多大。

特别的:
  • 墙不一定是垂直于地面的

输入描述:

第一行包含一个整数 ,表示 Sumo 每秒钟能匀速向气球中吹入 L 单位体积的气体。

第二行包含三个整数 ,表示 Sumo 嘴巴所在的位置。

接下来包含三行,每行包含三个整数 ,表示墙面上的三个点,保证三个点不共线。

输出描述:

输出仅包含一个实数,表示从 Sumo 往气球里吹起开始计时,第几秒气球发生爆炸。(结果与正确答案相差在  以内都算正确)
示例1

输入

复制
10
0 10 0
0 0 0
0 0 10
10 0 0

输出

复制
52.3598775598