#include <stdio.h>
#include <string.h>

#define NMAX 101
#define INFINITO 1000001

int g[NMAX][NMAX];
int pred[NMAX], fila[NMAX], custo[NMAX], ini, fim;
int n, s, t;
int soma;

int mini(int a, int b) {
	if (a<b) {
		return a;
	} else {
		return b;
	}
}

int main() {
	int nteste=1;
	int c;
	int i, j, k;
	int x, y, v;
	int bandwidth;
	int marcados;
	int u;
	int mi;

	while (scanf("%d", &n)&&n!=0) {
		scanf("%d %d %d", &s, &t, &c);
		memset(g, 0, sizeof(g));
		memset(pred, 0, sizeof(pred));
		for (i=0; i<c; i++) {
			scanf("%d %d %d", &x, &y, &v);
			g[x][y]+=v;
			g[y][x]+=v;
		}
		pred[s]=n+1;
		ini=0;
		fim=0;
		fila[fim++]=s;
		mi=INFINITO;
		soma=0;
		while (ini!=fim) {
			v=fila[ini++];
			if (v==t) {
				ini=0;
				fim=0;
				fila[fim++]=s;
				soma+=mi;
				while (v!=s) {
					g[v][pred[v]]+=mi;
					g[pred[v]][v]-=mi;
					v=pred[v];
				}
				memset(pred, 0, sizeof(pred));
				pred[s]=n+1;
				mi=INFINITO;
			} else {
				for (i=1; i<=n; i++) {
					if (g[v][i]>0&&!pred[i]) {
						fila[fim++]=i;
						pred[i]=v;
						mi=mini(mi, g[v][i]);
					}
				}
			}
		}
		bandwidth=soma;
		printf("Network %d\nThe bandwidth is %d.\n\n", nteste++, bandwidth);
	}
	
	return 0;
}

