În laboratorul de chimie al unei şcoli există n tipuri de substanţe chimice, identificate prin numerele de la 1 la n, şi un stativ în care pot fi aşezate p epubrete. Din motive de securitate, două dintre cele n substanţe nu pot fi aşezate în eprubete alăturate (dacă cele două eprubete s-ar sparge şi substanţele ar intra în contact direct, ar rezulta un amestec exploziv).
Cerinţă
Scrieţi un program care să determine numărul de moduri în care pot fi umplute toate cele p eprubete din stativ cu substanţe chimice astfel încât cele două substanţe periculoase să nu fie aşezate în eprubete alăturate.
Date de intrare
Fişierul de intrare chimie.in conţine pe prima linie cele două numere naturale n şi p separate printr-un spaţiu, reprezentând numărul de substanţe chimice, respectiv numărul de eprubete din stativ.
Date de ieşire
Fişierul de ieşire chimie.out va conţine o singură linie pe care va fi scris numărul de moduri în care pot fi umplute toate cele p eprubete din stativ cu substanţe chimice astfel încât cele două substanţe periculoase să nu fie aşezate în eprubete alăturate.
Restricţii
2 ≤ p ≤ n ≤ 100
O eprubetă poate conţine o singură substanţă.
Exemple
chimie1.in
chimie1.out
Explicaţii
4 3
50
Sunt în total 4*4*4=64 de moduri în care pot fi umplute cele 3 eprubete folosind substanţele 1, 2, 3 şi 4. Considerând că substanţele 1 şi 2 sunt cele periculoase rezultă că sunt 14 moduri în care nu pot fi umplute eprubetele: (1,1,2), (1,2,1), (1,2,2), (1,2,3), (1,2,4), (2,1,1), (2,1,2), (2,1,3), (2,1,4), (2,2,1), (3,1,2), (3,2,1), (4,1,2), (4,2,1). Deci sunt 64-14=50 de moduri corecte în care pot fi umplute eprubetele.