#include<cstdio>
#define I 1<<30
int l,n,m,i,s,t,*w,cp,fl,cs,cu,cm[351],u,v,j,k,co[800000],mark[351],dad[351],z[351][351],g[351],c[351][351],d[351][351];
int main()
{
freopen("fmcm.in","r",stdin),freopen("fmcm.out","w",stdout),scanf("%d%d%d%d",&n,&m,&s,&t);
while(m--)
scanf("%d%d%d%d",&u,&v,&cp,&cs),c[u][v]=cp,d[u][v]=cs,d[v][u]=-cs,z[u][g[u]++]=v,z[v][g[v]++]=u;
while(1)
{
for(i=1;i<=n;i++)
cm[i]=I;
for(cm[s]=0,j=k=1,co[1]=s,mark[s]=1;j<=k;)
for(u=co[j++],cu=cm[j],mark[j]=0,w=z[j];*w;w++)
if(c[u][*w]&&cu+d[u][*w]<cm[*w])
{
cm[*w]=cu+d[u][*w],dad[*w]=u;
if(!mark[*w])
mark[*w]=1,co[++k]=*w;
}
if(cm[t]==I)
return;
for(fl=I,u=t;u!=s;u=dad[u])
fl=(fl<c[dad[u]][u])?fl:c[dad[u]][u];
for(u=t;u!=s;u=dad[u])
c[dad[u]][u]-=fl,c[u][dad[u]]+=fl;
l+=fl*cm[t];
}
printf("%d",l);
}