Moving&Changing

Time limit: 0.5s Memory limit: 64MB Input: Output:

Se consideră un vector AA cu NN numere naturale și poziția pospos ca fiind prima poziție din vectorul AA. Asupra acestora se vor efectua MM operații, în ordine, de tipul:

  • 1: pospos devine pos1pos - 1. Dacă pos=1pos = 1 înainte de efectuarea operației, atunci operația se ignoră.
  • 2: pospos devine pos+1pos + 1. Dacă pos=Npos = N înainte de efectuarea operației, atunci operația se ignoră.
  • 3 x: Se inserează pe poziția pospos în vectorul AA numărul natural xx, iar NN devine N+1N + 1.
  • 4: Se șterge numărul de pe poziția pospos din vectorul AA, iar NN devine N1N - 1. Dacă pos=Npos = N înainte de efectuarea operației, atunci pospos devine pos1pos - 1.
  • 5: Se afișează numărul de pe poziția pospos.

Cerință

Să se determine valorile afișate în operația 5.

Date de intrare

Pe prima linie se găsesc NN și MM separate printr-un spațiu. Pe următoarea linie se găsesc NN numere naturale, separate printr-un spațiu, reprezenând elementele vectorului AA. Pe următoarele MM linii se găsesc operațiile, descrise mai sus.

Date de ieșire

Pe prima linie se vor găsi valorile afișate în operația 5, separate printr-un spațiu.

Restricții și precizări

  • 1N1051 \leq N \leq 10^5
  • 1M41051 \leq M \leq 4 \cdot 10^5
  • 0Ai1090 \leq A_i \leq 10^9, pentru fiecare 1iN1 \leq i \leq N
  • 0x1090 \leq x \leq 10^9
  • Se garantează că vectorul AA nu va fi niciodată vid.
  • Vectorul AA este indexat de la 1.
# Punctaj Restricții
0 0 Exemplul
1 30 1N5001 \leq N \leq 500, 1M1 0001 \leq M \leq 1\ 000
2 70 Fără restricții suplimentare

Exemplu

stdin

3 8
2 4 3
2
3 0
1
4
5
2
2
5

stdout

0 3

Explicație

În acest exemplu, N=3N = 3, M=8M = 8, A=[2,4,3]A = [2, 4, 3] și pos=1pos = 1.

  • După prima operație, pos=2pos = 2.
  • După a doua operație, A=[2,0,4,3]A = [2, 0, 4, 3] și N=4N = 4.
  • După a treia operație, se va afișa 00.
  • După a patra operație, pos=1pos = 1.
  • După a cincea operație, A=[0,4,3]A = [0, 4, 3] și N=3N = 3.
  • După a șasea operație, pos=2pos = 2.
  • După a șaptea operație, pos=3pos = 3
  • Dupa a opta operație, se va afișa 33.

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