Codeforces Round 304 (Div. 2) |
---|
Закончено |
В стране есть n городов и m двусторонних дорог между ними. У каждого города есть армия. Армия i-го города состоит из ai солдат. В стране объявлена мобилизация. В результате неё каждый солдат должен либо остаться в своем городе, либо перейти в один из соседних городов, то есть перейти по не более чем одной дороге.
Проверьте, возможно ли, чтобы после перехода в i-м городе было ровно bi солдат.
Первая строка входа содержит два целых числа, n и m (1 ≤ n ≤ 100, 0 ≤ m ≤ 200).
В следующей строке записано n целых чисел a1, a2, ..., an (0 ≤ ai ≤ 100).
В следующей строке записано n целых чисел b1, b2, ..., bn (0 ≤ bi ≤ 100).
Затем слеует m строк, каждая состоит из двух целых чисел, p и q (1 ≤ p, q ≤ n, p ≠ q) обозначающих, что между городами p и q есть дорога.
Гарантируется, что между каждой парой городов существует не более одной дороги.
Если требуемое невозможно, выведите единственное слово: "NO".
В противном случае выведите слово "YES", а затем выведите n строк, в каждой строке выведите по n целых чисел. Число в i-й строке и j-м столбце должно обозначать, сколько солдат должно перейти из города i в город j (если i ≠ j), либо сколько солдат должно остаться в городе i (если i = j).
Если возможных ответов несколько, выведите любой из них.
4 4
1 2 6 3
3 5 3 1
1 2
2 3
3 4
4 2
YES
1 0 0 0
2 0 0 0
0 5 1 0
0 0 2 1
2 0
1 2
2 1
NO
Название |
---|