//第一道网络流的题目啊,令人感动<img alt="大哭" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/wail.gif" />
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
const int maxn = 20;
const int inf = 10000086;
int n,m;
int dis[maxn];
int flow[maxn][maxn];
bool bfs()
{
queue<int> Q;
int i,v;
Q.push(1);
memset(dis,0,sizeof(dis));
dis[1] = 1;
while( !Q.empty() )
{
v = Q.front();
Q.pop();
if(v == n)
break;
for(i = 1; i <= n; i++)
{
if(flow[v][i] && !dis[i])
{
dis[i] = dis[v]+1;
Q.push(i);
}
}
}
if( dis[n] )
return true;
return false;
}
int dfs(int v,int mx)
{
int i,ret;
if(v == n)
return mx;
for(i = 1; i <= n; i++)
{
if(flow[v][i] && dis[i]==dis[v]+1 && (ret=dfs(i,min(flow[v][i],mx))))
{
flow[v][i] -= ret;
flow[i][v] += ret;
return ret;
}
}
return 0;
}
int main()
{
int kase;
scanf("%d",&kase);
for(int k = 1; k <= kase; k++)
{
memset(flow,0,sizeof(flow));
int u,v,w;
scanf("%d%d",&n,&m);
for(int i = 0; i < m; i++)
{
scanf("%d%d%d",&u,&v,&w);
flow[u][v] += w;
}
int ans = 0;
int ret;
while( bfs() )
{
while( ret = dfs(1,inf) )
ans += ret;
}
printf("Case %d: %d\n",k,ans);
}
return 0;
}