atcoder#AGC035F. [AGC035F] Two Histograms

[AGC035F] Two Histograms

配点 : 18001800

問題文

NNMM 列のマス目があります。高橋君は、以下のようにして各マスに整数を書き込みます。

  • まず、すべてのマスに 00 を書き込む
  • i=1,2,...,Ni=1,2,...,N に対し、整数 ki(0kiM)k_i (0\leq k_i\leq M) を選び、上から ii 行目の左から kik_i 個のマスに書かれた整数すべてに 11 を足す
  • j=1,2,...,Mj=1,2,...,M に対し、整数 lj(0ljN)l_j (0\leq l_j\leq N) を選び、左から jj 列目の上から ljl_j 個のマスに書かれた整数すべてに 11 を足す

こうして、各マスに 0,1,20,1,2 のいずれかの整数の書かれたマス目が出来上がります。最終的にできる可能性のある相異なるマス目の個数を 998244353998244353 で割った余りを求めてください。 ただし、22 つのマス目が異なるとは、あるマスが存在してそのマスに書かれた整数が異なることを指します。

制約

  • 1N,M5×1051 \leq N,M \leq 5\times 10^5
  • N,MN,M は整数である

入力

入力は以下の形式で標準入力から与えられる。

NN MM

出力

最終的にできる可能性のある相異なるマス目の個数を 998244353998244353 で割った余りを出力せよ。

1 2
8

左のマスに aa が、右のマスに bb が書き込まれたマス目を (a,b)(a,b) と表すことにすると、(0,0),(0,1),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)(0,0),(0,1),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)88 通りのマス目ができる可能性があります。

2 3
234
10 7
995651918
314159 265358
70273732