AT_maximum_cup_2023_g イノシシ対策
Description
S君は $ xy $ 平面上の $ (X,Y) $ にある畑で農業を始めることにしました。
しかし、平面上には $ N $ 頭のイノシシがいて畑を荒らそうとしています。 $ i $ 番目のイノシシは $ (x_i,y_i) $ に棲んでいます。
S君が対処法を求めて役所に相談したところ、 $ M $ 個の計画を提案されました。
$ i $ 番目の計画は直線 $ y = a_i x + b_i $ 上に柵を設置するというもので、実行する場合 $ 2^{i-1} $ 円かかります。
畑を守るには $ i=1,2,\ldots,N $ すべてに対して、 $ (X,Y) $ と $ (x_i,y_i) $ を結ぶ線分(端点含む)とある柵に対応する直線が交点を持つ必要があります。
計画を $ 0 $ 個以上選んで実行し、畑を守るのに必要な金額の最小値を $ C $ 円とします。 $ C $ を $ (10^9+7) $ で割った余りを求めてください。
ただし、どのように計画を選んでも畑を守ることが出来ない場合、代わりに `-1` と出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ X $ $ Y $ $ x_1 $ $ y_1 $ $ \vdots $ $ x_N $ $ y_N $ $ a_1 $ $ b_1 $ $ \vdots $ $ a_M $ $ b_M $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
$ 1,3 $ 番目の計画を選んで実行するのが最適で、 $ C= 2^{1-1} + 2^{3-1} = 5 $ であるため、 $ 5 $ を $ (10^9+7) $ で割った余りである $ 5 $ が期待される出力です。
### Sample Explanation 2
同じ座標に複数のイノシシが棲んでいる場合や、(必要な金額を除いて)同じ計画が存在する場合があります。
### Constraints
- $ 1 \leq N,M \leq 2 \times 10^5 $
- $ -10^9 \leq X,Y,x_i,y_i,a_i,b_i \leq 10^9 $
- $ (X,Y) \neq (x_i,y_i) $
- 入力はすべて整数