One of my most productive days was throwing away 1,000 lines of code.
— Ken Thompson
Прибавление Фибоначчи — это операция на массиве \(X\) целых чисел, параметризованная индексами \(l\) и \(r\). При применении этой операции к \(X_l\) прибавляется \(F_1\), к \(X_{l + 1}\) прибавляется \(F_2\), и так далее, вплоть до числа \(X_r\), которое увеличивается на \(F_{r - l + 1}\).
Здесь \(F_i\) — это \(i\)-е число Фибоначчи (\(F_1 = 1\), \(F_2 = 1\), \(F_{i} = F_{i - 1} + F_{i - 2}\) для \(i > 2\)), и все операции производятся по модулю \(MOD\).
Вам даны массивы \(A\) и \(B\) одинаковой длины. Мы просим вас применить к этим массивам несколько операций прибавления Фибоначчи с разными параметрами. После каждой операции вы должны сообщить, равны ли массивы \(A\) и \(B\) (по модулю \(MOD\)).
Выходные данные
После каждой операции выведите «YES» (без кавычек), если массивы равны, и «NO» иначе. Ответ можно выводить в любом регистре.
Примечание
Пояснение к тесту из условия:
- Изначально \(A=[2,2,1]\), \(B=[0,0,0]\).
- После операции «A 1 3»: \(A=[0,0,0]\), \(B=[0,0,0]\) (сложение производится по модулю 3).
- После операции «A 1 3»: \(A=[1,1,2]\), \(B=[0,0,0]\).
- После операции «B 1 1»: \(A=[1,1,2]\), \(B=[1,0,0]\).
- После операции «B 2 2»: \(A=[1,1,2]\), \(B=[1,1,0]\).
- После операции «A 3 3»: \(A=[1,1,0]\), \(B=[1,1,0]\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 5 3 2 2 1 0 0 0 A 1 3 A 1 3 B 1 1 B 2 2 A 3 3
|
YES
NO
NO
NO
YES
|
|
2
|
5 3 10 2 5 0 3 5 3 5 8 2 5 B 2 3 B 3 4 A 1 2
|
NO
NO
YES
|