I bordi vengono aggiunti a un grafico ponderato non orientato. Scrivi un programma che a un certo punto trovi la somma dei pesi degli spigoli in un componente connesso.
La prima riga contiene due numeri
n
e
m
(1 <= n, m <= 10
6) - il numero di vertici in colonna e il numero di integrazioni e richieste effettuate. Questo è seguito da righe
m
che descrivono l'aggiunta o la richiesta. Ogni riga è composta da due o quattro numeri. Il primo dei numeri indica il codice dell'operazione. Se il primo numero è
1
, allora è seguito da altri tre numeri
x
,
y
,
w
. Ciò significa che viene aggiunto un arco al grafo dal vertice
x
al vertice
y
di peso
w
. (1 <= x < y <= n, 1 <= w <= 10
3). Sono consentiti bordi multipli. Se il primo numero è
2
, allora esattamente un numero
x
lo segue. Ciò significa che è necessario rispondere alla domanda, qual è la somma degli archi nella componente connessa a cui appartiene il vertice
x
(1 <= x <= n). div>
Uscita
Per ogni operazione con codice
2
stampa la risposta al problema dato. Stampa la risposta a ciascuna richiesta su una riga separata.
Esempi
# |
Input |
Uscita |
1 |
6 10
2 1
1 1 2 1
2 1
1 2 4 2
2 1
1 1 4 3
2 1
1 3 5 3
2 5
2 6
|
0
1
3
6
3
0
|