- Time limit: 4.00 s
- Memory limit: 512 MB
Fibonaccin lukujono määritellään siten, että , ja kaikille . Ensimmäiset lukujonon alkiot ovat siis .
Taulukossa on epänegatiivista lukua . Aluksi kaikki luvut ovat . Tehtäväsi on toteuttaa seuraavat operaatiot:
- kasvata lukuja arvolla
- laske summa modulo
Syöte
Syötteen ensimmäisellä rivillä on kaksi lukua ja , taulukon koko ja kyselyjen määrä. Tämän jälkeen syötteessä on riviä, joista jokainen kuvaa yhden kyselyn.
Jos kysely on tyyppiä 1, rivi on muotoa "1 ". Tämä tarkoittaa, että välin lukuja tulee kasvattaa :llä.
Jos kysely on tyyppiä 2, rivi on muotoa "2 ". Tämä tarkoittaa, että tulee laskea välin lukuja vastaavien Fibonaccin lukujen summa modulo .
Tuloste
Tulosta jokaisesta tyypin 2 kyselystä lukujen summa omalle rivilleen.
Rajat
Esimerkki
Syöte:
5 5 2 2 4 1 3 4 2 2 2 4 1 1 3 3 2 1 5
Tuloste:
0 2 10