E primavară şi se întorc berzele. În satul nostru, stâlpii de la marginea drumului au vârfurile prea ascuţite şi din această cauză berzele nu-şi pot face cuib. Aşa că e tristeţe mare la noi Dar ne-am adunat cu toţii şi am hotărât ca pe vârful unor stâlpi să instalăm câte un suport orizontal plan, astfel încât să nu-i fie greu unei berze să-şi amenajeze cuibul. Avem stâlpi la marginea drumului, dispuşi liniar şi numerotaţi de la la .
Un număr de săteni au venit cu câte o restricţie de forma , însemnând faptul că pe stalpii din intervalul se pot instala cel mult două suporturi pentru cuiburi de berze. Motivele acestor restricţii sunt diverse, cum ar fi de pildă apropierea prea mare între anumiţi stâlpi. Vom ţine seama de ele pentru că vrem ca toţi sătenii să fie mulţumiţi.
Cerinţă
Cunoscând , şi cele restricţii să se determine numărul de posibilităţi ca berzele să-şi amenajeze cuiburi pe cei stâlpi, modulo .
Date de intrare
Fişierul de intrare berze.in
conține pe prima linie numerele şi având semnificaţia din enunţ. Pe următoarele linii se găsesc câte două numere naturale , , reprezentând faptul că în intervalul de stâlpi se pot amenaja cel mult două suporturi pentru cuiburi de berze.
Date de ieșire
Fişierul de ieșire berze.out
va conţine pe o singură linie un număr natural ce reprezintă numărul de posibilităţi de a plasa suporturi pentru cuiburi de berze pe cei stâlpi.
Restricții și precizări
- cele intervale de forma nu sunt neapărat disjuncte
- pe un stâlp se poate instala cel mult un suport pentru cuib de barză
- pentru din teste
Exemplu
berze.in
4 1
0 2
berze.out
14
Explicație
Notăm cu I
un stâlp fără suport pentru cuib de barză şi cu T
un stâlp cu suport. Atunci cele soluţii sunt:
I I I I
I I I T
T I I I
T I I T
I T I I
I T I T
I I T I
I I T T
T T I I
T T I T
T I T I
T I T T
I T T I
I T T T