Time limit: 2s
Memory limit: 256MB
Input: hipersum.in
Output: hipersum.out
Kaguya este interesată de 4 operaţii:
- Şi-ul pe biţi, notat , care coincide cu operatorul din C++. Ca exemplu, .
- Sau-ul pe biţi, notat , care coincide cu operatorul din C++. Ca exemplu, .
- Maximul, notat cu . Ca exemplu, .
- Minimul, notat cu . Ca exemplu, .
Cumva a ajuns să defineasca hiper-valoarea şirului , notat cu , prin expresia .
Cerință
Miyuki o adoră pe Kaguya, deci vrea să îi facă un cadou frumos. Astfel, el îi cumpară o secvenţă . Dar Kaguya este o fiinţa aparte, deci când primeşte acest şir, tot ce vrea e să cunoască suma hiper-valorilor tuturor subsecvenţelor lui , modulo . Mai exact vrea să afle , modulo .
Il puteţi ajuta pe Miyuki să afle această valoare pentru Kaguya?
Date de intrare
Fişierul de intrare hipersum.in
conţine pe prima linie numărul . Pe a doua linie se găsesc numere naturale separate prin spaţiu care reprezintă elementele şirului .
Date de ieșire
În fişierul de ieşire hipersum.out
se va afla un singur număr care reprezintă valoarea cerută.
Restricții și precizări
# | Punctaj | Restricții |
---|---|---|
1 | 20 | |
2 | 20 | , valorile din șir sunt generate aleatoriu |
3 | 20 | , valorile din șir sunt generate aleatoriu |
4 | 20 | |
5 | 20 |
Exemplu
hipersum.in
4
1 2 3 4
hipersum.out
390