#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <queue>
#include <limits.h>
#define MAX 250
using namespace std;
int cap[MAX][MAX];
int m;
int EKarp(int s,int t)
{
queue<int> Q;
int flow[MAX][MAX],a[MAX],u,v,f,pre[MAX];
f = 0;
memset(flow,0,sizeof(flow));
while(1)
{
Q.push(s);
memset(a,0,sizeof(a));
a[s] = INT_MAX;
while( !Q.empty() )
{
u = Q.front();
Q.pop();
for(v=1; v<=m; v++)
if( !a[v] && cap[u][v] > flow[u][v] )
{
Q.push(v);
a[v] = a[u] < cap[u][v] - flow[u][v] ? a[u] : cap[u][v] - flow[u][v];
pre[v] = u;
}
}
if( a[t] == 0 )
break;
for(u=t; u!=s; u=pre[u])
{
flow[pre[u]][u] += a[t];
flow[u][pre[u]] -= a[t];
}
f += a[t];
}
return f;
}
int main()
{
int from,to,c,n,ans;
while( scanf("%d%d",&n,&m) != EOF )
{
memset(cap,0,sizeof(cap));
while( n-- )
{
scanf("%d%d%d",&from,&to,&c);
cap[from][to] += c;
}
ans = EKarp(1,m);
printf("%d/n",ans);
}
return 0;
}