Se consideră un şir cu elemente numere naturale nenule. Pentru fiecare subsecvenţă de forma din şirul (unde ) pentru care cel mai mare divizor comun al numerelor şi este mai mare decât , se calculează valoarea , unde este operaţia sau exclusiv pe biţi (notată în C/C++ cu ^
). Între valorile obţinute pentru fiecare subsecvenţă se efectuează din nou operaţia , obţinând ca rezultat un număr .
Se cere să se determine valoarea lui .
Date de intrare
Pe prima linie a fişierului de intrare se află numărul , iar pe a doua linie elementele şirului .
Date de ieșire
Pe prima linie a fişierului de ieşire se va afişa valoarea numărului .
Restricții
-
# Punctaj Restricții 1 9 2 12 3 15 Elementele şirului sunt numere pare. 4 26 Elementele şirului sunt numere prime. 5 38 Fără restricții suplimentare
Exemplu
secvxor.in
5
4 7 6 10 21
secvxor.out
1
Explicație
Operaţia se defineşte astfel: , , și pentru și .
De exemplu, pentru numerele şi scrierea lor în baza este , respectiv . Efectuând operaţia între aceste numere vom obţine rezultatul .
Subsecvenţele care satisfac proprietatea din enunţ (adică sunt de lungime cel puţin 2, iar elementele de la începutul şi sfârşitul subsecvenţei au cel mai mare divizor comun mai mare decât ) sunt: , , , , . Efectuând operaţia între elementele fiecărei subsecvenţe obţinem valorile , respectiv . Efectuând operaţia între aceste valori obţinem valoarea lui .