Gigel are o “balanță” mai ciudată pe care vrea să o echilibreze. De fapt, aparatul este diferit de orice balanță pe care ați văzut-o până acum. Balanța lui Gigel dispune de două brațe de greutate neglijabilă și lungime fiecare. Din loc în loc, la aceste brațe sunt atașate cârlige, pe care Gigel poate atârna greutăți din colecția sa de greutăți de valori distincte (numere naturale între și ). Gigel poate atârna oricâte greutăți de orice cârlig, dar trebuie să folosească toate greutățile de care dispune.
Folosindu-se de experiența participării la Olimpiada Națională de Informatică, Gigel a reușit să echilibreze balanța relativ repede, dar acum dorește să știe în câte moduri poate fi ea echilibrată.
Cerinţă
Cunoscând amplasamentul cârligelor și setul de greutăți pe care Gigel îl are la dispozitie, scrieți un program care calculează în câte moduri se poate echilibra balanța. Se presupune că este posibil să se echilibreze balanța (va fi posibil pe toate testele date la evaluare).
Date de intrare
Fișierul de intrare balanta.in
are urmatoarea structură:
- pe prima linie, numărul de cârlige și numărul de greutăți;
- pe următoarea linie, numere întregi, distincte, ordonate crescător, cuprinse între și inclusiv, reprezentând amplasamentele cârligelor, prin poziția pe axa X față de centrul balanței, în condițiile în care nu este atârnată nici o greutate (deci balanta este echilibrată și se aliniază cu axa ; valoarea absolută a distanțelor reprezintă distanța față de centrul balanței, iar semnul precizează brațul balanței la care este atașat cârligul,
-
pentru brațul stâng și+
pentru brațul drept); - pe următoarea linie, numere naturale distincte ordonate crescător, cuprinse între si inclusiv, reprezentând valorile greutăților pe care Gigel le va folosi pentru a echilibra balanța.
Date de ieșire
Fișierul de ieșire balanta.out
conține o singură linie, pe care se află un număr , numărul de variante de plasare a greutăților care duc la echilibrarea balanței.
Restricții și precizări
- ;
- ;
- greutățile folosite au valori naturale între și ;
- numarul cerut este între si ;
- Balanta se echilibrează dacă suma produselor dintre greutăți și coordonatele unde ele sunt plasate este (suma momentelor greutăților față de centrul balantei este ).
Exemplu
balanta.in
2 4
-2 3
3 4 5 8
balanta.out
2