AT_abc422_e [ABC422E] Colinear
Description
$ 2 $ 次元平面上に $ N $ 個の点があります。 $ N $ は奇数です。 $ i $ 番目の点は $ (x_i, y_i) $ にあります。全ての点の座標は相異なります。
$ N $ 個の点のうち過半数を通る直線が存在するかを判定して、存在すればそれを出力してください。
なお、制約を満たすどのような入力においても、条件を満たす直線が存在する場合、その直線は $ -10^{18} $ 以上 $ 10^{18} $ 以下の整数 $ a,b,c $ を用いて $ ax+by+c=0 $ と表すことができます。(ただし $ (a,b,c) \neq (0,0,0) $ ) この $ a,b,c $ を出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ $ \vdots $ $ x_N $ $ y_N $
Output Format
条件を満たす直線が存在しない場合は `No` を出力せよ。
条件を満たす直線が存在する場合は $ 2 $ 行出力せよ。 $ 1 $ 行目には `Yes` を出力して、 $ 2 $ 行目には $ a,b,c $ をこの順に空白区切りで出力せよ。 $ a,b,c $ は $ -10^{18} $ 以上 $ 10^{18} $ 以下かつ $ (a,b,c) \neq (0,0,0) $ である必要がある点に注意せよ。
答えが複数ある場合はどれを出力しても正答とみなされる。
Explanation/Hint
### Sample Explanation 1
直線 $ 2x+y-8=0 $ は $ 2 $ 番目の点と $ 3 $ 番目の点を通るので条件を満たします。
### Sample Explanation 2
条件を満たす直線は存在しません。
### Constraints
- $ 3 \leq N \leq 5 \times 10^5 $
- $ N $ は奇数
- $ -10^8 \leq x_i \leq 10^8 $
- $ -10^8 \leq y_i \leq 10^8 $
- $ i \neq j $ ならば $ (x_i, y_i) \neq (x_j, y_j) $
- 入力される値は全て整数