O misiune a echipei SG1 constă în activarea unui dispozitiv extraterestru acţionat cu ajutorul unei tastaturi ciudate formate din n comutatoare aflate iniţial toate în aceeaşi poziţie (să o notăm cu ). Se ştie că trebuie setate (trecute în poziţia ) exact k comutatoare şi că nu contează ordinea în care trebuie acţionate comutatoarele. În plus, cu ajutorul unor documente antice, au aflat că între oricare două comutatoare succesive setate se pot afla cel puţin şi cel mult comutatoare nesetate. De exemplu, pentru , , şi , o configuraţie care corespunde cerinţei este: , în timp ce configuraţiile , , nu corespund datelor problemei. Dacă o combinaţie de comutatoare setate nu activează dispozitivul, nu se întâmplă nimic deosebit (ce plictisitor episod!), ci comutatoarele se resetează automat, permiţând încercarea altei combinaţii. Se cere să se determine numărul maxim de configuraţii distincte de comutatoare setate pe care trebuie să le încerce echipa SG1 pentru a activa dispozitivul.
Cerinţă
Scrieţi un program care, pentru valorile , , , date, determină numărul total de configuraţii posibile de comutatoare ce respectă condiţiile din enunţ.
Date de intrare
În fişierul text sg1.in
se dau, pe aceeaşi linie, despărţite prin spaţii, valorile , , şi .
Date de ieșire
În fişierul sg1.out
se scrie numărul de configuraţii ce corespund cerinţei.
Restricții și precizări
- ;
- ;
- .
Exemplul 1
sg1.in
7 3 1 2
sg1.out
8
Explicație
Cele configuraţii sunt:
, , , , , , , .
Exemplul 2
sg1.in
5 2 0 0
sg1.out
4
Explicație
, , , .
Exemplul 3
sg1.in
14 8 1 5
sg1.out
0