În seara dinaintea probei de concurs, Cobby a avut un vis demn de un Oscar, cu mai multe evenimente. Se făcea că lumea era reprezentată ca o matrice pătratică de latură N
, cu liniile și coloanele numerotate de la 1
la N
, în care fiecare element era inițial vid. Privind în jur, a realizat că atunci când visează un element al matricei, situat la intersecția liniei i
cu coloana j
, interiorul acestuia se împarte în N
linii și N
coloane, ca o nouă matrice. Apoi, dacă visează la un element din matricea nou formată sau
din cea inițială, se întâmplă la fel.
Pentru a nu se rătăci, eroul nopții a decis să atribuie un indice fiecărei matrice formată începând cu cea inițială căreia i-a asociat indicele 1
. Matricele care se creează primesc indici numere naturale consecutive (2
, 3
, …), în ordinea în care se obţin. Astfel, fiecare element din visul lui Cobby este definit de 3 numere: id
– indicele atribuit matricei din care face parte, i
şi j
– indicii liniei şi coloanei pe care se află elementul.
Cobby realizează că, oricât ar încerca, nu poate visa un element decât o singură dată. Pentru a face visul şi mai interesant, el reţine pentru fiecare matrice un număr natural denumit “coeficient de importanţă”, iniţial 0
pentru fiecare matrice din vis. Din când în când, eroul nostru alege una dintre matrice şi adaugă o valoare VAL
la coeficientul de importanță al ultimelor NR
matrice din care s-a obținut aceasta, inclusiv ea.
Cerința
După ce au loc toate evenimentele din vis, Cobby vrea să ştie valoarea finală a coeficientului de importanţă pentru un șir de K
matrice date prin indicii lor. Deoarece el se grăbeşte să participe la Concursul Naţional Urmaşii lui Moisil, îţi revine ţie misiunea de a găsi răspunsul pentru fiecare matrice.
Date de intrare
Pe prima linie a fişierului inception.in
se află valorile N
– numărul de linii şi coloane din fiecare matrice, Q
– numărul de evenimente care au loc în visul lui Cobby, K
– numărul de matrice pentru care Cobby vrea să ştie coeficientul de importanţă. Următoarele Q
linii respectă unul dintre formatele:
1 id i j
– Cobby visează elementul de pe liniai
şi coloanaj
din matricea cu indiceleid
2 id NR VAL
– Cobby adaugă valoareaVAL
la coeficienţii de importanţă aNR
matrice începând cu matricea cu indiceleid
.
Pe linia Q+2
se află K
valori id1 id2 ... idK
, separate prin câte un spaţiu, ce reprezintă indicii matrice lor pentru care trebuie afişată valoarea finală a coeficientului de importanţă. Evenimentele se petrec în ordinea în care sunt date în fişier.
Date de ieșire
Pe prima linie a fişierului inception.out
se află K
valori r1 r2 ... rK
, separate prin câte un spaţiu, unde ri
reprezintă coeficientul final al matricei cu id-ul id i
, i
din [1,K]
.
Restricții și precizări
1 ≤ N ≤ 500000
1≤ Q ≤ 300000
1≤VAL≤1000
1 ≤ K, NR, id ≤
numărul total de operații de tipul 1.- În ambele tipuri de evenimente valoare
id
corespunde unei matrice
formate anterior. - Se garantează că există cel puţin
NR
matrice care pot fi modificate pentru operaţia de tipul 2. - Pentru 20% dintre teste orice matrice va conţine cel mult un element visat.
Exemplu:
inception.in
3 6 3 1 1 2 3 1 2 3 3 2 3 3 5 1 1 3 1 1 2 3 1 2 5 2 3 2 1 4
inception.out
8 5 0
Explicație
Matricele cu indicii 3
, 2
, 1
primesc valoarea 5
la coeficientul de importanță în evenimentul 3
, iar matricele cu indicii 5
și 2
primesc valoarea 3
la coeficientul de importanță în evenimentul 6
.