AT_arc191_e [ARC191E] Unfair Game

Description

正整数 $ N,X,Y $ と長さ $ N $ の非負整数列 $ A=(A_1,A_2,\ldots,A_N) $ , $ B=(B_1,B_2,\ldots,B_N) $ が与えられます。 $ N $ 個の袋があり、それぞれ袋 $ 1 $ から袋 $ N $ までの番号が付けられています。袋 $ i $ にははじめ金貨が $ A_i $ 枚、銀貨が $ B_i $ 枚入っています。 この $ N $ 個の袋を使って高橋君と青木君がゲームをすることを考えます。最初に高橋君がいくつかの袋を取り(一つも取らなくても良い)、高橋君が取らなかった袋を全て青木君が取ります。その後、高橋君から始めて $ 2 $ 人は交互に以下の操作を繰り返します。 - 自分の持っている袋のうち金貨か銀貨が $ 1 $ 枚以上入っている袋を選び、選んだ袋に対し以下の $ 2 $ つのうちいずれかを行う。 - 金貨を $ 1 $ 枚取り除き、銀貨を入れる。ただし、銀貨を入れる枚数は高橋君なら $ X $ 枚、青木君なら $ Y $ 枚である。この操作は金貨が選んだ袋に $ 1 $ 枚以上ある場合にのみ行うことができる。 - 銀貨を $ 1 $ 枚取り除く。この操作は銀貨が選んだ袋に $ 1 $ 枚以上ある場合にのみ行うことができる。 - その後、選んだ袋を相手に渡す。 先に操作ができなくなったプレイヤーが負けとなります。 $ 2 $ 人が自分が勝つために最適な行動を取ったとき、高橋君が勝てるような最初の袋の取り方が何通りあるかを $ 998244353 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ X $ $ Y $ $ A_1 $ $ B_1 $ $ A_2 $ $ B_2 $ $ \vdots $ $ A_N $ $ B_N $

Output Format

$ 2 $ 人が自分が勝つために最適な行動をしたとしたとき、高橋君が勝てるような最初の袋の取り方が何通りあるかを $ 998244353 $ で割ったあまりを出力せよ。

Explanation/Hint

### Sample Explanation 1 高橋君が最初に袋 $ 1,2 $ の両方を取った場合のゲームの進行の一例を示します。 - 高橋君が袋 $ 2 $ から金貨を $ 1 $ 枚取り除き、銀貨を $ 1 $ 枚入れる。その後、袋 $ 2 $ を青木君に渡す。 - 高橋君は金貨が $ 1 $ 枚入った袋 $ 1 $ を、青木君は銀貨が $ 2 $ 枚入った袋 $ 2 $ を持っている。 - 青木君が袋 $ 2 $ から銀貨を $ 1 $ 枚取り除く。その後、袋 $ 2 $ を高橋君に渡す。 - 高橋君は金貨が $ 1 $ 枚入った袋 $ 1 $ と銀貨が $ 1 $ 枚入った袋 $ 2 $ を持っており、青木君は何も持っていない。 - 高橋君が袋 $ 1 $ から金貨を $ 1 $ 枚取り除き、銀貨を $ 1 $ 枚入れる。その後、袋 $ 1 $ を青木君に渡す。 - 高橋君は銀貨が $ 1 $ 枚入った袋 $ 2 $ を持っており、青木君は銀貨が $ 1 $ 枚入った袋 $ 1 $ を持っている。 - 青木君が袋 $ 1 $ から銀貨を $ 1 $ 枚取り除く。その後、袋 $ 1 $ を高橋君に渡す。 - 高橋君は空の袋 $ 1 $ と銀貨が $ 1 $ 枚入った袋 $ 2 $ を持っており、青木君は何も持っていない。 - 高橋君が袋 $ 2 $ から銀貨を $ 1 $ 枚取り除く。その後、袋 $ 2 $ を青木君に渡す。 - 高橋君は空の袋 $ 1 $ を持っており、青木君は空の袋 $ 2 $ を持っている。 - 青木君は操作ができないので、青木君の負けであり、高橋君の勝ちである。 高橋君は最初に取る袋が袋 $ 2 $ のみであるか袋 $ 1,2 $ の両方である場合にこのゲームに勝つことができます。したがって、 $ 2 $ を出力してください。 ### Sample Explanation 2 高橋君は最初に袋 $ 1,2 $ のどちらか、または両方取った場合にこのゲームに勝つことができます。 ### Sample Explanation 3 最初に高橋君がどのように袋を取っても高橋君は負けます。 ### Constraints - $ 1\le N\le 2\times 10^5 $ - $ 1\le X,Y\le 10^9 $ - $ 0\le A_i,B_i\le 10^9 $ - 入力される値は全て整数