Teo se duce la cantina lui favorită (cea de la ASE) ca să guste din noua gamă de alimente - răcituri cu pireu.
La bufetul de răcituri, el are la alegere tipuri de răcituri. Al -lea tip () costă lei. Pentru fiecare tip de răcitură, Teo, cu o probabilitate de , își pune în farfurie o răcitură.
La bufetul de pireu, el are la alegere tipuri de pireu. Pireul se vinde la volum, așa că pentru al -lea tip de pireu (), Teo se poate servi cu pireu în valoare de , , ..., lei. Pentru fiecare tip de pireu, Teo se servește uniform aleatoriu cu o cantitate permisă de pireu.
Cantina oferă următoarea reducere: dacă prețul total al alimentelor alese de Teo este strict mai mare decât suma de lei, atunci Teo primește o reducere de .
Cerință
Care este, în medie, prețul plătit de Teo?
Date de intrare
Pe prima linie din standard input se află numerele , și cu semnificația din enunț.
Pe a doua linie se află numere întregi: .
Pe a treia linie se află numere întregi: .
Date de ieșire
Pe singura linie din standard output afișați răspunsul, modulo .
Dacă răspunsul este egal cu fracția , afișați numărul (modulo ).
Restricții și precizări
- În secțiunea „Atașamente” din dreapta paginii, puteți descărca un fișier C++ care implementează operații de bază ale aritmeticii modulare. Acesta este util mai ales dacă nu ați mai lucrat cu noțiunea de invers modular.
- Teo știe că forma corectă este piure dar din motive de marketing cantina continuă cu denumirea de pireu.
# | Punctaj | Restricții |
---|---|---|
1 | 20 | , și (niciodată nu se aplică reducerea). |
2 | 20 | , |
3 | 20 | |
4 | 20 | |
5 | 20 | Fără restricții suplimentare |
Exemplul 1
stdin
5 3 10
2 7 6 2 6
6 7 10
stdout
142806425
Exemplul 2
stdin
10 10 100
26 27 72 11 6 30 60 90 28 15
60 68 38 48 22 65 19 75 17 1
stdout
413422235