在 IOIC (International Olympiad of Initial Condition) 的最終決賽會場上,小 IO 跟小 IC 決定使用剪刀石頭布來決出勝負。但是一般的剪刀石頭布跟 Initial Condition 一點關係也沒有,為了讓比賽更加有趣,他們修改了一下遊戲規則。
一開始在世界上有三個陣營,分別代表剪刀,布,石頭,其中每個陣營分別有 $N_A, N_B, N_C$ 的士兵。接著電腦會均等隨機的選出兩個士兵並進行一場打架,這兩個士兵會出代表自己陣營的拳,而輸的人會更改自己的陣營成勝者的陣營,平局則不會有事情發生。這個操作會持續到這世界上只剩下一個陣營。此時唯一留下的陣營就是本局的贏家。
小 IO 跟小 IC 發現這樣的遊戲只跟初始狀態有關,因此他們感到很滿意,但是他們想要知道,在給定的初始狀態下,三個陣營的勝率分別是多少。請你輸出對於每個陣營他的勝率,方便起見,請將結果 $\text{mod } P$ 後輸出。
輸入只有一行,有四個以空格隔開的整數 $N_A, N_B, N_C, P$,代表這筆詢問的三個陣營分別有 $N_A, N_B, N_C$ 人
輸出一行 $P_A, P_B, P_C$ 代表三個陣營的勝率,方便起見,請將所有數字都 $\text{ mod } P$ 後輸出。
可以證明這個機率可以被表示成最簡分數 $\frac{x}{y}$,此時輸出 $x \times y^ {-1} \text{ mod } P$,其中 $y^ {-1}$ 是一個在 $0$ 跟 $P-1$ 之間的整數,並且 $y \times y^ {-1} \equiv 1 \pmod{P}$。
保證在本題的輸入中,對於任何途中可能經過的狀態定義出的機率裡面,$y$ 不被 $P$ 整除。
1 1 1 998244353
332748118 332748118 332748118
0 1 2 998244353
0 1 0
1 1 2 241879871
49616384 124040960 68222528
20 10 10 635078881
592489968 283358340 394309455
| No. | Testdata Range | Constraints | Score | 
|---|---|---|---|
| 1 | 0~3 | 範例測資 | 0 | 
| 2 | 0~39 | $N_A + N_B + N_C \leq 40$ | 50 | 
| 3 | 0~63 | 無額外限制 | 50 |