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 N1N - 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,,(K1)D0, D, 2D, \dots, (K-1)D.

Circuitele conțin 2NK2N - K bile numerotate de la 00 la 2NK12N - K - 1. Inițial,

  • Bilele 0,1,,N10, 1, \dots, N - 1 se află în compartimentele 0,1,,N10, 1, \dots, N - 1 de pe circuitul roșu.
  • Bilele N,N+1,,2NK1N, N + 1, \dots, 2N - K - 1 se află în compartimentele 0,1,,N10, 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,,bN1b_0, b_1, \dots, b_{N-1} valorile bilelor din compartimentele 0,1,,N10, 1, \dots, N - 1 ale unui circuit, atunci codificarea circuitului este valoarea

0×b0+1×b1+2×b2++(N1)×bN10 \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

  • 1N,Q1 000 0001 \leq N, Q \leq 1 \ 000 \ 000
  • 2KN2 \leq K \leq N
  • KK este par
  • (K1)D+1<N(K-1)\cdot D + 1 < N
# Scor Restricții
1 5 N,Q10 000N, Q \leq 10 \ 000
2 7 K10K \leq 10
3 19 Există cel mult 1010 mutări R.
4 42 N,Q100 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!