Ciąg

Rozważmy następujący ciąg zdefiniowany rekurencyjnie:

gdzie A i B to parametry ciągu. Twoim zadaniem jest napisać program, który policzy n-ty wyraz tego ciągu modulo podana liczba m.

Zadanie

Napisz program, który:

Wejście

W pierwszym i jedynym wierszu wejścia znajdują się cztery liczby całkowite nieujemne n, A, B i m (1<=n<=109, 0<=A, B<=100000, 2<=m<=100000).

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać jedną liczbę całkowitą nieujemną - resztę z dzielenia an przez m.

Przykład

Dla danych wejściowych:

3 2 1 10

Poprawnym wynikiem jest:

6

a3=26, stąd wynik to 26 mod 10=6.