Time limit: 5s
Memory limit: 256MB
Input: sir-nataflet.in
Output: sir-nataflet.out
Cerință
Se dă un șir de numere întregi de lungime și un număr , de asemenea se garantează că fiecare element este impar.
Asupra acestui șir se vor efecta două tipuri de operații:
- , , - adaugă la toate elemente unde este par;
- , , - găsește produsul numerelor modulo .
Date de intrare
Pe prima linie se găsesc două numere întregi, și reprezentând lungimea șirului și numărul de operații.
Cea dea doua linie conține șirul de numere .
Următoarele linii corespund operațiilor, fiecare având una dintre cele 2 forme:
1 l r val
reprezentând operațiile de primul tip;2 l r k
reprezentând operațiile de al doilea tip.
Date de ieșire
Pentru fiecare operație de tipul 2 afișati o linie cu răspunsul acesteia.
Restricții și precizări
- ;
- ;
Exemplu
stdin
10 10
969575 741825 24903 1047319 450475 256145 1045323 479255 810659 768323
1 5 6 3034
2 1 10 4
2 1 9 8
2 1 4 20
1 3 6 126904
2 5 5 15
2 9 9 3
1 7 7 853094
1 4 9 1025178
2 5 8 2
stdout
5
119
558151
23357
3
1