#include "happy.h"
using namespace std;
int n;
int q;
int m[2005][2005];
int val[2005];
int prez[2005];
void fil(int i,int p,int tat)
{
    val[i]=p;
    for(int j=0;j<n;j++)
    {
        if(m[i][j] && j!=tat)
        {
            fil(j,p^m[i][j],i);
        }
    }
}
vector <long long int> happy (int N, int Q, std::vector <int> u, std::vector <int> v, std::vector <int> h, std::vector <int> t, std::vector <int> l, std::vector <int> r) {
    vector<long long int> rasp;
    n=N;
    q=Q;
    for(int i=0;i<n;i++)
    {
        m[u[i]][v[i]]=h[i];
        m[v[i]][u[i]]=h[i];
    }
    fil(0,0,-1);
    for(int i=0;i<q;i++)
    {
        int sum=0;
        int cm=1;
        if(t[i]==2)
            cm=0;
        for(int o=l[i];o<=r[i];o++)
            prez[o]=cm;
        for(int k=0;k<n-1;k++)
        {
            for(int p=k+1;p<n;p++)
            {
                if(prez[k]&&prez[p])
                    sum+=(val[k]^val[p]);
            }
        }
        rasp.push_back(sum);

    }
    return rasp;
}
/*6 5
0 1 1
1 2 2
2 3 3
2 4 4
4 5 2
1 1 2
1 2 3
2 2 2
2 4 5
1 0 5*/



