Definim o expresie ca fiind un șir de caractere care respectă una dintre următoarele:
-
x
; - reprezintă un număr natural (constantă); (ex.
1
2
200
) - sau , unde , sunt (sub-)expresii. Aici, semnifică cel mai mare divizor comun al două numere, iar semnifică cel mai mic multiplu comun al două numere. De exemplu, avem că , .
De exemplu, x
, 13
, (5,2)
, [3,[x,(14,1)]]
, [x,x]
sunt expresii, pe când 0
, (5, 2, 3)
, [x, 2)
nu sunt expresii. Observați că expresiile nu conțin niciodată spații.
Pentru o expresie dată și un număr natural pozitiv , definim ca fiind rezultatul evaluării expresiei , unde tuturor aparițiilor lui le vor fi asociate valoarea . De exemplu:
([x,3],[x,2])
([10,3],[10,2])
(30,10)
10
(6,14)
(6, 14)
2
x
12
Dându-se o expresie și două numere naturale , să se calculeze .
Rezultatul se va afișa modulo .
Date de intrare
Fișierul de intrare expresii.in
conține pe prima linie o expresie . Pe a doua linie se găsesc numerele , separate prin spațiu.
Date de ieșire
Fișierul de ieșire expresii.out
va conține un număr întreg reprezentând valoarea cerută.
Restricții și precizări
- În tabelul ce urmează, reprezintă lungimea expresiei (numărul de caractere), iar reprezintă constanta de valoare maximă din (sau , dacă nu conține constante).
# | Punctaj | Restricții |
---|---|---|
1 | 9 | și , unde |
2 | 10 | , , și expresia nu conține paranteze pătrate [] |
3 | 15 | , , |
4 | 17 | și toate constantele din sunt puteri de |
5 | 17 | |
6 | 10 | |
7 | 14 | |
8 | 8 |
Exemplul 1
expresii.in
(x,6)
4 4
expresii.out
2
Explicație
Pentru primul exemplu, .
Exemplul 2
expresii.in
[x,6]
1 6
expresii.out
66
Explicație
Pentru al doilea exemplu, .
Exemplul 3
expresii.in
(12,(x,(8,6)))
3 6
expresii.out
6
Exemplul 4
expresii.in
([x,3],[x,2])
10 10
expresii.out
10
Exemplul 5
expresii.in
[([(x,5),2],[12,5]),(x,16)]
28 33
expresii.out
36
Explicație
Pentru ultimul exemplu, răspunsurile pentru fiecare valoare din interval sunt (în această ordine).
Atenție! Exemplele , , și nu respectă constrângerile subtask-ului . Exemplele , și nu respectă constrângerile subtask-ului . Exemplele , și nu respectă constrângerile subtask-ului .