La mamma ha regalato a Dima un array di lunghezza . Questo array non è ordinario — è speciale. Dima può scegliere i numeri e d~(1 \le i \le n, -1000 \le d \le 1000) e assegnare magicamente il valore all'elemento con indice .
Mentre Dima gioca con l'array, sua mamma a volte gli fa delle domande: qual è la somma degli elementi dell'array con indici da a inclusi? Dima risponde a queste domande senza sforzo. Tu ci riesci?
La prima riga contiene due interi e q~(1 \le n \le 5 \cdot 10^5, 1 \le q \le 10^5) — il numero di elementi dell'array e il numero totale di operazioni e interrogazioni.
La seconda riga contiene interi a_1, a_2, \dots, a_n~(-1000 \le a_i \le 1000) — lo stato iniziale dell'array.
Ciascuna delle successive righe contiene un'operazione oppure un'interrogazione:
Se una riga inizia con il simbolo '', denota un'operazione di assegnazione, seguita dagli interi e con i vincoli specificati sopra.
Se una riga inizia con il simbolo '', denota un'interrogazione, seguita dagli interi e t~(1 \le f, t \le n).
Per ogni interrogazione, stampa la somma degli elementi dell'array con indici da a inclusi. Stampa ogni risposta su una riga separata.
Esempio 1