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 valreprezentând operațiile de primul tip;
- 2 l r kreprezentâ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
sir-nataflet.in
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
sir-nataflet.out
5
119
558151
23357
3
1