解説
全工程数の総和をMとします。
タスクを区別しない時、選び方はM!通りあります。
ただし、同一タスク内の工程は、配置問わず並び方が一意に制限されるため、表現幅はai!ずつ失われてしまいます。
なので、∏ai!M!mod106+3が答えとなります。
この数式を一見すると、O(∑i=1Nai)もしくは最悪O(1011)の計算量が必要だと、怯えられるかもしれません。
ただ、modに注目すると、Mが106+3以上のときは、答えは常に0になることが分かります。
これでこの問題を解くことができました。