시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB2512735.000%

문제

Juku unustas õhtul hambaid pesta ning tema suus hakkasid paljunema bakterid. Iga bakter on kas noor või täiskavanu. Iga sekundi jooksul sünnitab iga täiskasvanu ühe uue noore bakteri, kes saab järgmise sekundi jooksul ise täiskasvanuks. Ükski bakter kunagi ei sure.

Leida, kui palju baktereid (noori ja täiskasvanuid kokku) on Juku suus $T$ sekundi pärast, kui alguses on seal $N$ noort ning $V$ täiskasvanut. Tegeliku arvu asemel väljastada jääk, mis tekib selle jagamisel antud arvuga $K$.

입력

Tekstifaili ainsal real on neli tühikutega eraldatud täisarvu: $N$, $V$, $T$ ja $K$ ($0 \le N \le 10^9$, $0 \le V \le 10^9$, $0 \le T \le 10^{18}$, $0 < K \le 10^9$).

출력

Tekstifaili ainsale reale väljastada väärtus $(X \bmod K)$, kus $X$ on bakterite koguarv Juku suus $T$ sekundi pärast ning "$\bmod$" tähistab jagamisel tekkiva jäägi leidmist.

예제 입력 1

1 3 2 100

예제 출력 1

11

Arvestuse alguses on Juku suus üks noor ja kolm täiskasvanud bakterit. Esimese sekundi jooksul saab noor täiskasvanuks ja sünnivad kolm uut noort; koguarvuks saab seega $3 + 4 = 7$. Teise sekundi jooksul saavad kolm noort täiskasvanuteks ja sünnivad neli uut noort; vastus on seega $(4 + 7) \bmod 100 = 11$.

예제 입력 2

0 10 1 20

예제 출력 2

0

Alguses on Juku suus $10$ täiskasvanud bakterit, mis esimese sekundiga sünnitavad juurde $10$ noort. Vastus on seega $(10 + 10) \bmod 20 = 0$.