Cerința
Miguel a învățat cum să scrie numere în baza 2 și cum merg operațiile pe biți, așa că a inventat următorul joc:
Ai primit un șir de numere , , ..., și interogări. Pentru fiecare interogare, ai la dispoziție două numere naturale și cu semnificația că devine egal cu . După fiecare interogare, trebuie să afișezi numărul magic corespunzător noului șir. De menționat că după afișarea numărului magic, șirul nu revine la starea inițială.
Numărul magic al unui șir de lungime este egal cu suma tuturor numerelor din șirurile , , ..., . Pentru , este egal cu iar pentru fiecare , conține rezultatele operației pe biți AND
între oricare două numere consecutive din , păstrând ordinea relativă a perechilor. De menționat că șirul conține elemente.
De exemplu, dacă , atunci iar numărul magic al lui este egal cu .
Date de intrare
De pe prima linie se citesc numerele naturale și . A doua linie conține numere întregi , , ..., . Pe următoarele linii se află câte o interogare, de forma A B
.
Date de ieșire
Se vor afișa cele numere magice, dispuse pe câte o linie.
Restricții și Precizări
- pentru oricare
Exemplu
stdin
5 4
1 5 3 7 4
5 3
2 2
3 4
1 7
stdout
35
31
24
32
Explicație
După prima interogare, șirul devine iar numărul magic este egal cu . Pentru a obține vom efectua următoarele operații: , , , .