AT_kupc2018_l 凸包が映し出される平面

Description

[problemUrl]: https://atcoder.jp/contests/kupc2018/tasks/kupc2018_l $ 3 $ 次元空間上に $ N $ 個の点があり、$ i $ 番目の点の座標は $ (x_i,\ y_i,\ z_i) $ です。 まず、あなたは長さが $ 1 $ の $ 3 $ 次元ベクトル $ v $ を自由に選びます。 次に、原点を通り $ v $ に垂直な平面を $ F $ とします。 各 $ (x_i,\ y_i,\ z_i) $ から $ F $ への垂線の足を $ p_i $ とします。 平面 $ F $ 上で頂点 $ p_1,\ p_2,\ ...,\ p_N $ の凸包を作り、その面積を $ S $ とします。 面積 $ S $ の最大値を求め、さらに、$ S $ を最大にするようなベクトル $ v $ の選び方が何通りあるかを $ 10^9\ +\ 7 $ で割り、その余りを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ x_1 $ $ y_1 $ $ z_1 $ $ x_2 $ $ y_2 $ $ z_2 $ $ : $ $ x_N $ $ y_N $ $ z_N $

Output Format

面積 $ S $ の最大値を出力せよ。 続いて、$ S $ を最大にするようなベクトル $ v $ の選び方が何通りあるかを $ 10^9\ +\ 7 $ で割り、その余りを出力せよ。 なお、面積 $ S $ の最大値については、絶対誤差または相対誤差が $ 10^{−8} $ 未満であれば正解として扱われる。

Explanation/Hint

### 制約 - 入力は全て整数である。 - $ 4\ \leq\ N\ \leq\ 60 $ - $ 0\ \leq\ x_i,\ y_i,\ z_i\ \leq\ 1,000 $ - 与えられる点の座標は全て異なる。 - 全ての点が同一面上に存在することはない。 - 面積が最大となるような $ v $ の選び方は高々有限通りである。 ### Sample Explanation 1 $ v\ =\ (1\ /\ \sqrt{3},\ 1\ /\ \sqrt{3},\ 1\ /\ \sqrt{3}) $ とすると、各頂点から $ F $ への垂線の足の凸包は一辺 $ \sqrt{2} $ の正三角形となり、このときの面積 $ \sqrt{3}\ /\ 2 $ が最大となります。 $ v\ =\ (-1\ /\ \sqrt{3},\ -1\ /\ \sqrt{3},\ -1\ /\ \sqrt{3}) $ としたときも同様に、$ F $ 上の凸包の面積が $ \sqrt{3}\ /\ 2 $ となります。 この面積となる $ v $ の選び方は、これら $ 2 $ 通りのみです。