#include<iostream>
#include <cstdio>
#include <string.h>
using namespace std;
int n,m;
int c[201][201];
int maxflow(int s,int t)
{
int p,q,queue[201],u,v,pre[201];
int flow,aug;
flow=0;
while(true)
{
memset(pre,-1,sizeof(pre));
for(queue[p=q=0]=s;p<=q;p++)
{
u=queue[p];
for(v=0;v<n&&pre[t]<0;v++)
if(c[u][v]>0&&pre[v]<0)
pre[v]=u,queue[++q]=v;
if(pre[t]>=0)
break;
}
if(pre[t]<0)
break;
aug=0x7fff;
for(u=pre[v=t];v!=s;v=u,u=pre[u])
if(c[u][v]<aug)
aug=c[u][v];
for(u=pre[v=t];v!=s;v=u,u=pre[u])
c[u][v]-=aug,c[v][u]+=aug;
flow+=aug;
}
return flow;
}
int main()
{
int s,e,ca;
while(scanf("%d%d",&m,&n)!=EOF)
{
memset(c,0,sizeof(c));
for(int i=0;i<m;i++)
{
scanf("%d%d%d",&s,&e,&ca);
c[s-1][e-1]+=ca;
}
printf("%d\n",maxflow(0,n-1));
}
return 0;
}