SOJ ONLINE JUDGE

유량 흘리기 3

난이도: Platinum III 출제자: rlatjwls7882 시간 제한: 1000 ms 메모리 제한: 512 MB
최소 비용 최대 유량

$1$번부터 $N$번까지 번호가 붙은 정점과 $M$개의 용량과 비용이 있는 방향 간선으로 이루어진 그래프가 있다.

시작 정점 $S$에서 도착 정점 $T$로 보낼 수 있는 유량의 최댓값과, 해당 유량을 보낼 때 필요한 비용의 최솟값을 구하라.

각 간선으로 보내는 유량은 해당 간선의 용량을 넘을 수 없으며, $S$와 $T$를 제외한 모든 정점에서는 들어오는 유량의 합과 나가는 유량의 합이 같아야 한다.

입력

첫 번째 줄에 정점의 개수 $N$, 간선의 개수 $M$, 시작 정점 $S$, 도착 정점 $T$가 주어진다. $(2 \leq N \leq 100,\ 0 \leq M \leq \min(500,\frac{N(N-1)}{2}),\ 1 \leq S,T \leq N,\ S \neq T)$

두 번째 줄부터 $M$개의 줄에 걸쳐 방향 간선을 나타내는 네 정수 $u$, $v$, $c$, $w$가 주어진다. $(1 \leq u,v \leq N,\ u \neq v,\ 1 \leq c \leq 100,\ 0 \leq w \leq 10^6)$

같은 두 정점을 잇는 간선은 방향과 관계없이 두 번 이상 주어지지 않는다.

출력

첫 번째 줄에 $S$에서 $T$로 보낼 수 있는 유량의 최댓값을 출력한다.

두 번째 줄에 해당 유량을 보낼 때 필요한 비용의 최솟값을 출력한다.

예제 입력 1

6 7 1 6
1 2 2 2
1 4 2 1
2 3 2 2
4 3 1 2
4 5 2 3
3 6 2 1
5 6 1 2

예제 출력 1

3
15

예제 입력 2

4 2 1 4
1 2 3 10
3 4 5 20

예제 출력 2

0
0

제출