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