No.035 D

番目と 番目のチェックポイントの間のコースの数は, とすると,

となる.

これを総乗を計算するセグメントツリーで管理するのが基本方針である.

しかし, このままでは桁数が大きくなりすぎるので対応できない.

そこで, 対数で管理することにする. 対数ならば相乗ではなく総和で管理すればよく, 経路数が多い方は少ない方の2倍以上という制約から誤差もごまかせる範囲である.

なお, 階乗(の対数)はあらかじめ計算しておく.