i<ji < ji<jの時、jjjを固定して条件を満たすAiA_iAiの個数を高速に数える方法を考えます。
まず、Ai+Aj≡0mod MA_i + A_j \equiv 0 \mod MAi+Aj≡0modMの条件からAi≡M−Ajmod MA_i \equiv M - A_j \mod MAi≡M−AjmodMという条件が導き出せます。
余りごとにFenwickTreeを利用してAi<AjA_i < A_jAi<Ajを満たすAiA_iAiの個数を得ることが出来ます。
左から見ていき、対応するAiA_iAiの個数を数え、Ajmod MA_j \mod MAjmodMの値をFenwicTreeに追加していけば良いです。