AT_abc130_f [ABC130F] Minimum Bounding Box

Description

[problemUrl]: https://atcoder.jp/contests/abc130/tasks/abc130_f 二次元平面に $ N $ 個の点があります。$ i $ 番目の点の初期座標は $ (x_i,\ y_i) $ です。それぞれの点はこれから秒速 $ 1 $ で同時に移動を始めます。点の移動方向は全て $ x $ 軸または $ y $ 軸に平行です。具体的には $ i $ 番目の点の移動方向は文字 $ d_i $ によって与えられ、 - $ d_i\ = $ `R` のとき $ x $ 軸正方向 - $ d_i\ = $ `L` のとき $ x $ 軸負方向 - $ d_i\ = $ `U` のとき $ y $ 軸正方向 - $ d_i\ = $ `D` のとき $ y $ 軸負方向 です。 あなたは点が移動を開始して以降、任意のタイミングで全ての点の動きを止めることができます (移動開始 $ 0 $ 秒後に止めることも可能です)。 動きを止めたあとの $ N $ 点の $ x $ 座標のうち最大のものを $ x_{max} $、最小のものを $ x_{min} $、$ y $ 座標のうち最大のものを $ y_{max} $、最小のものを $ y_{min} $ とします。 $ (x_{max}\ -\ x_{min})\ \times\ (y_{max}\ -\ y_{min}) $ としてありうる値の最小値を求めて出力してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ x_1 $ $ y_1 $ $ d_1 $ $ x_2 $ $ y_2 $ $ d_2 $ $ . $ $ . $ $ . $ $ x_N $ $ y_N $ $ d_N $

Output Format

$ (x_{max}\ -\ x_{min})\ \times\ (y_{max}\ -\ y_{min}) $ としてありうる値の最小値を出力せよ。 ジャッジプログラムの出力との絶対誤差または相対誤差が $ 10^{-9} $ 以下のとき正解とみなされる。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 10^5 $ - $ -10^8\ \leq\ x_i,\ y_i\ \leq\ 10^8 $ - $ x_i $, $ \ y_i $ はともに整数である。 - $ d_i $ は `R`, `L`, `U`, `D` のいずれかである。 ### Sample Explanation 1 $ 3 $ 秒後に $ 2 $ つの点は原点で重なり、このとき題意の値は $ 0 $ になります。 ### Sample Explanation 2 出力が整数にならない場合もあります。