CSES - Palkat
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Yrityksessä on nn työntekijää, joilla jokaisella on tietty palkka. Tehtäväsi on pitää kirjaa palkoista ja vastata kyselyihin niihin liittyen.

Syöte

Syötteen ensimmäisellä rivillä on kaksi lukua nn ja qq: työntekijöiden määrä ja kyselyiden määrä. Työntekijät on numeroitu kokonaisluvuin 1,2,,n1,2,\ldots,n.

Seuraavalla rivillä on nn kokonaislukua p1,p2,,pnp_1,p_2,\ldots,p_n: kunkin työntekijän palkka.

Sitten syötteessä on qq riviä, joista jokainen kuvaa yhden kyselyn. Rivin muoto on jompikumpi seuraavista:

  • ! kk xx: muuta työntekijän kk palkaksi xx
  • ? aa bb: monenko työntekijän palkka on välillä aba \ldots b?

Tuloste

Ohjelmasi tulee tulostaa vastaus jokaiseen ?-kyselyyn.

Rajat

  • 1n,q1051 \le n, q \le 10^5
  • 1pi1091 \le p_i \le 10^9
  • 1kn1 \le k \le n
  • 1x1091 \le x \le 10^9
  • 1ab1091 \le a \le b \le 10^9

Esimerkki

Syöte:

5 3
3 7 2 2 5
? 2 3
! 3 6
? 2 3

Tuloste:

3
2