Time limit: 0.01s
Memory limit: 16MB
Input: bsir.in
Output: bsir.out
Se dă un număr natural .
Definim un bşir de lungime N ca fiind şirul , unde
- dacă are un număr impar de biţi egali cu în reprezentare binară
- dacă are un număr par de biţi egali cu în reprezentare binară
De exemplu, pentru obţinem următorul bşir de lungime :
Explicaţii privind obţinerea bşir-ului:
(în baza ) | (în baza ) | valoarea de pe poziţia din bşir |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 1 |
3 | 11 | 0 |
4 | 100 | 1 |
5 | 101 | 0 |
6 | 110 | 0 |
Cerinţă
Determinaţi numărul de secvenţe palindromice de lungime cel puţin dintr-un bşir de lungime .
Date de intrare
Fişierul de intrare bsir.in
conţine pe prima linie numărul natural .
Date de ieșire
Fişierul de ieşire bsir.out
va conţine modulo (restul împărţirii lui la ).
Restricții și precizări
- Secvenţa se numeşte palindromică dacă
Exemplul 1
bsir.in
10
bsir.out
8
Exemplul 2
bsir.in
21
bsir.out
30