import java.util.*; public class estrada { static int query[][]; static int last[], p[]; static long ans[], sum[], sz[]; static int find(int u){ while(p[u] != u){ if(p[p[u]] != p[u]) p[u] = p[p[u]]; u = p[u]; } return u; } static void join(int u, int v, long w){ u = find(u); v = find(v); ans[u] = ans[u] + ans[v] + sum[u] * sz[v] + sum[v] * sz[u] + w * sz[u] * sz[v]; sum[u] = sum[u] + sum[v] + w * sz[v]; sz[u] = sz[u] + sz[v]; p[v] = u; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n, q; n = sc.nextInt(); q = sc.nextInt(); query = new int[q][]; last = new int[n]; for(int i=0;i