PiP_iPiの総積が答えになります。
総積を計算するときに64bit型整数を利用し、 PiP_iPi を1回かけるごとに 109+710^9+7109+7で余りをとるようにするとオーバーフローを発生させずに109+710^9+7109+7で割った余りを求めることができます。