Вам дано два массива \(a[1 \dots n]\) и \(b[1 \dots n]\) одинаковой длины \(n\).
Чтобы проделать подъем, вам необходимо выбрать три таких целых числа \(l, r, k\), что \(1 \le l \le r \le n\) и \(k > 0\). Затем, вы прибавляете \(k\) к элементам \(a_l, a_{l+1}, \ldots, a_r\).
К примеру, если массив \(a = [3, 7, 1, 4, 1, 2]\), и вы выбираете \((l = 3, r = 5, k = 2)\), массив \(a\) станет \([3, 7, \underline{3, 6, 3}, 2]\).
Вы можете применять эту операцию не более одного раза. Можете ли вы сделать массив \(a\) равным массиву \(b\)?
(Мы считаем, что \(a = b\) если и только если для всех \(1 \le i \le n\), \(a_i = b_i\))
Выходные данные
Для каждого тестового случая выведите в отдельной строке «YES» если возможно сделать \(a\) и \(b\) равными за не более чем один подъем или «NO», иначе.
Вы можете выводить каждую букву в любом регистре (верхнем или нижнем).
Примечание
Первый тестовый случай разобран в условии: мы можем сделать подъем с параметрами \((l=3, r=5, k=2)\), чтобы превратить \(a\) в \(b\).
Во втором тестовом случае необходимо сделать хотя бы два подъема, чтобы превратить \(a\) в \(b\).
В третьем тестовом случае \(a\) и \(b\) уже равны исходно.
В четвертом тестовом случае невозможно превратить \(a\) а \(b\), потому что число \(k\) должно быть положительным.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 6 3 7 1 4 1 2 3 7 3 6 3 2 5 1 1 1 1 1 1 2 1 3 1 2 42 42 42 42 1 7 6
|
YES
NO
YES
NO
|