grazing

Ciobanasul Ion vrea sa îsi modernizeze zona de pasunat si sa construiasca niste carari intre pasunile sale.
El are n pasuni, numerotate de la 1 la n. O carare va uni doua pasuni. Un drum este format dintr-o succesiune de pasuni, astfel incat intre doua pasuni consecutive de-a lungul drumului sa existe o carare de legatura. Lungimea unui drum este egala cu numarul de pasuni aflate pe drumul respectiv.
Pentru a-si face oile fericite el trebuie sa indeplineasca o conditie stranie: oilor nu le va place cum sunt construite cararile daca exista trei pasuni p1, p2, p3 astfel ca drumul cel mai scurt de la p1 la p2 are aceeasi lungime cu drumul cel mai scurt de la p2 la p3, si de asemenea aceeasi lungime cu drumul cel mai scurt de la p1 la p3.

Cerinta

Scrieti un program care sa-i spuna ciobanasului Ion care este numarul de posibilitati de construire a cararilor care respecta restrictia din enunt.

Date de intrare

Fisierul de intrare numit grazing.in va contine pe prima linie un numar intreg n reprezentand numarul de pasuni.

Date de iesire

Fisierul de iesire grazing.out va contine pe prima linie un singur numar reprezentand numarul de modalitati de constructie a cararilor.

Restrictii si precizari

Exemplu
grazing.in grazing.out Explicatie
3 7

Cele 7 posibilitati sunt ilustrate in figura urmatoare (in fiecare caz, cu linie subtire sunt marcate cararile posibile, iar cu linie ingrosata sunt marcate cararile construite):

Timp maxim de executie/test: 1 secunda

Cosmin Negruseri
Universitatea Babes-Bolyai Cluj
Contact:cosminn@gmail.com