Vom forma o secvență de puncte care sunt vârfuri cu coordonate întregi, într-un caroiaj. Fiecare două puncte consecutive din secvență definesc un segment vertical sau orizontal de lungime . Vom numi aceasta secvență un “drum”. Considerăm astfel de drumuri formate din segmente care sunt “neintersectabile” (oricare două segmente care nu sunt consecutive, pe drum, nu se intersectează între ele și nu au puncte comune). De asemenea vrem ca primul segment de pe drum să unească punctele de coordonate și , iar primul segment vertical să meargă în sus.
Cerință
Scrieți un program trap care calculează numărul total de drumuri neintersectabile dintr-un caroiaj pătrat care se obțin după pași și care nu mai pot fi extinse suplimentar deoarece adăugarea următorului -lea segment va cauza autointersecția.
Date de intrare
Pe prima linie se va afla un număr întreg .
Date de ieșire
Pe prima linie se va afla un număr întreg care corespunde numărului de drumuri neintersectabile de lungime , care nu pot fi extinse.
Restricții
Exemplu
stdin
8
stdout
2
Explicații
Două drumuri neintersectabile de lungime 8 sunt:
- ;
- .
Ele sunt desenate și în figurile de mai jos: