Lungcircuit

Time limit: 0.1s Memory limit: 512MB Input: Output:

Se dau două circuite, fiecare cu câte NN compartimente numerotate de la 00 la N−1N - 1, în sens orar pe circuitul roșu (stâng) și în sens antiorar pe circuitul albastru (drept). KK dintre aceste compartimente sunt comune celor două circuite, și anume compartimentele 0,D,2D,…,(K−1)D0, D, 2D, \dots, (K-1)D.

Circuitele conțin 2N−K2N - K bile numerotate de la 00 la 2N−K−12N - K - 1. Inițial,

  • Bilele 0,1,…,N−10, 1, \dots, N - 1 se află în compartimentele 0,1,…,N−10, 1, \dots, N - 1 de pe circuitul roșu.
  • Bilele N,N+1,…,2N−K−1N, N + 1, \dots, 2N - K - 1 se află în compartimentele 0,1,…,N−10, 1, \dots, N - 1 de pe circuitul albastru, sărind peste compartimentele comune.

Putem efectua două tipuri de mutări: Mutarea R rotește circuitul roșu în sens orar cu un compartiment, iar mutarea A rotește circuitul albastru în sens antiorar cu un compartiment.

Figura arată circuitele pentru N=32N = 32, K=6K = 6 și D=3D = 3. O mutare R ar pune bila 0 în locul bilei 1, bila 1 în locul bilei 2, …\dots, bila 31 în locul bilei 0. O mutare A ar pune bila 0 în locul bilei 32, bila 32 în locul bilei 33, bila 33 în locul bilei 3, …\dots, bila 57 în locul bilei 0.

Dacă notăm cu b0,b1,…,bN−1b_0, b_1, \dots, b_{N-1} valorile bilelor din compartimentele 0,1,…,N−10, 1, \dots, N - 1 ale unui circuit, atunci codificarea circuitului este valoarea

0×b0+1×b1+2×b2+⋯+(N−1)×bN−10 \times b_0 + 1 \times b_1 + 2 \times b_2 + \dots + (N - 1) \times b_{N - 1}

Cerință

Date fiind NN, KK, DD, QQ și o secvență de QQ mutări R sau A, tipăriți codificările celor două circuite după efectuarea mutărilor.

Date de intrare

Pe prima linie se află întregii NN, KK, DD și QQ. A doua linie conține QQ caractere R sau A, fără spații.

Date de ieșire

Afișați două linii, prima conținând codificarea finală a circuitului roșu, iar a doua codificarea finală a circuitului albastru.

Restricții

  • 1≤N,Q≤1 000 0001 \leq N, Q \leq 1 \ 000 \ 000
  • 2≤K≤N2 \leq K \leq N
  • KK este par
  • (K−1)⋅D+1<N(K-1)\cdot D + 1 < N
# Scor Restricții
1 5 N,Q≤10 000N, Q \leq 10 \ 000
2 7 K≤10K \leq 10
3 19 Există cel mult 1010 mutări R.
4 42 N,Q≤100 000N, Q \leq 100 \ 000
5 27 Fără alte restricții.

Exemple

stdin

7 2 3 4
RRAA

stdout

74
133

stdin

32 6 3 2
RA

stdin

11195
21666

Explicație

În primul exemplu, circuitele evoluează astfel:

Codificarea finală a circuitului roșu este 0×10+1×6+2×0+3×7+4×2+5×3+6×4=740 \times 10 + 1 \times 6 + 2 \times 0 + 3 \times 7 + 4 \times 2 + 5 \times 3 + 6 \times 4 = 74, iar codificarea circuitului albastru este 0×10+1×11+2×5+3×7+4×8+5×1+6×9=1330 \times 10 + 1 \times 11 + 2 \times 5 + 3 \times 7 + 4 \times 8 + 5 \times 1 + 6 \times 9 = 133.

Al doilea exemplu descrie circuitele de pe pagina 1. La final, conținutul circuitului roșu este:
57 0 1 33 3 4 35 6 7 37 9 10 39 12 13 41 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30,
iar conținutul circuitului albastru este:
57 31 32 33 2 34 35 5 36 37 8 38 39 11 40 41 14 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56.

Log in or sign up to be able to send submissions!