Codeforces Round 304 (Div. 2)
E
Soldier and Traveling
Codeforces
2100
原题
← D→
翻译中…

In the country there are $*n*$ cities and $*m*$ bidirectional roads between them. Each city has an army. Army of the $*i*$-th city consists of $*a*_{*i*}$ soldiers. Now soldiers roam. After roaming each soldier has to either stay in his city or to go to the one of neighboring cities by at moving along at most one road.

翻译中…

Check if is it possible that after roaming there will be exactly $*b*_{*i*}$ soldiers in the $*i*$-th city.

翻译中…

Input

翻译中…

First line of input consists of two integers $*n*$ and $*m*$ ($1 ≤ *n* ≤ 100$, $0 ≤ *m* ≤ 200$).

翻译中…

Next line contains $*n*$ integers $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($0 ≤ *a*_{*i*} ≤ 100$).

翻译中…

Next line contains $*n*$ integers $*b*_{1}, *b*_{2}, ..., *b*_{*n*}$ ($0 ≤ *b*_{*i*} ≤ 100$).

翻译中…

Then $*m*$ lines follow, each of them consists of two integers $*p*$ and $*q*$ ($1 ≤ *p*, *q* ≤ *n*$, $*p* ≠ *q*$) denoting that there is an undirected road between cities $*p*$ and $*q*$.

翻译中…

It is guaranteed that there is at most one road between each pair of cities.

翻译中…

Output

翻译中…

If the conditions can not be met output single word "NO".

翻译中…

Otherwise output word "YES" and then $*n*$ lines, each of them consisting of $*n*$ integers. Number in the $*i*$-th line in the $*j*$-th column should denote how many soldiers should road from city $*i*$ to city $*j*$ (if $*i* ≠ *j*$) or how many soldiers should stay in city $*i*$ (if $*i* = *j*$).

翻译中…

If there are several possible answers you may output any of them.

翻译中…

样例

Input #1
4 4
1 2 6 3
3 5 3 1
1 2
2 3
3 4
4 2
Output #1
YES
1 0 0 0
2 0 0 0
0 5 1 0
0 0 2 1
InputCopy OutputCopy
Input #2
2 0
1 2
2 1
Output #2
NO
InputCopy OutputCopy
题目信息
题号
546E
时间限制
1 s
内存限制
256 MB
标签
网络流
图论
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。