#include <iostream>
#define MAXN 100001
using namespace std;

int OP[MAXN][3];
int JUMP[MAXN];
int COLOR[MAXN];

int main()
{
    
int cas, ans, n, q, temp;
    
int i, j, k;
    
    scanf(
"%d"&cas);
    
for (j = 1; j <= cas; j++)
    {
        scanf(
"%d %d"&n, &q);
        
for (i = 1; i <= n; i++)
        {
            COLOR[i] 
= 1;
            JUMP[i] 
= i;
        }
        
for (i = 0; i < q; i++)
            scanf(
"%d %d %d"&OP[i][0], &OP[i][1], &OP[i][2]);
        
for (i = q - 1; i >= 0; i--)
        {
            
for (k = OP[i][0]; k <= OP[i][1]; JUMP[temp] = OP[i][1+ 1)
            {
                temp 
= k;
                
if (JUMP[k] != k)
                    k 
= JUMP[k];
                
else
                    COLOR[k
++= OP[i][2];
            }
        }
        
for (i = 1, ans = 0; i <= n; i++)
            ans 
+= COLOR[i];
        printf(
"Case %d: The total value of the hook is %d.\n", j, ans);
    }
    
return 0;
}