#abc279h. [abc279_h]Sum of Prod of Min

[abc279_h]Sum of Prod of Min

問題文

正整数 N,MN,M が与えられます。ただし、NleqMleq2NN\\leq M \\leq 2N が保証されます。

displaystylesumi=1NSi=M\\displaystyle \\sum_{i=1}^{N} S_i = M を満たす全ての正整数列 S=(S1,S2,dots,SN)S=(S_1,S_2,\\dots,S_N) について以下の値を求め、 その総和を素数 200003200\\ 003 で割った余りを出力してください (通常とは異なる bmod\\bmod の値に注意してください)。

  • displaystyleprodk=1Nmin(k,Sk)\\displaystyle \\prod_{k=1}^{N} \\min(k,S_k)

制約

  • 1leqNleq10121 \\leq N \\leq 10^{12}
  • NleqMleq2NN \\leq M \\leq 2N
  • 入力は全て整数

入力

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

NN MM

出力

答えを整数として出力せよ。


入力例 1

3 5

出力例 1

14

条件を満たす SS は、 $S=(1,1,3), S=(1,2,2), S=(1,3,1), S=(2,1,2), S=(2,2,1), S=(3,1,1)$ の 66 つです。

それぞれの SS について displaystyleprodk=1Nmin(k,Sk)\\displaystyle \\prod_{k=1}^{N} \\min(k,S_k) の値を求めると、

  • S=(1,1,3)S=(1,1,3) : 1times1times3=31\\times 1 \\times 3 = 3
  • S=(1,2,2)S=(1,2,2) : 1times2times2=41\\times 2 \\times 2 = 4
  • S=(1,3,1)S=(1,3,1) : 1times2times1=21\\times 2 \\times 1 = 2
  • S=(2,1,2)S=(2,1,2) : 1times1times2=21\\times 1 \\times 2 = 2
  • S=(2,2,1)S=(2,2,1) : 1times2times1=21\\times 2 \\times 1 = 2
  • S=(3,1,1)S=(3,1,1) : 1times1times1=11\\times 1 \\times 1 = 1

となるため、その総和である 1414 を出力します。


入力例 2

1126 2022

出力例 2

40166

総和を 200003200\\ 003 で割った余りを出力してください。


入力例 3

1000000000000 1500000000000

出力例 3

180030