Tractorel s-a gândit un pic, pic la o problemă în timp ce ploua cu adrese intr-o dimineață. El se gândește serios la un șir de numere întregi având la stânga dolărei și la dreapta leii grei.
Deoarece Tractorel deține puteri supranaturale, el poate efectua următoarele operații asupra șirului.
Insert (X Y)
– inserează în șir elementul cu valoarea după elementul de pe poziția (dacă este , se inserează la inceputul șirului)Delete K
– se elimină elementul de pe poziția din șirQuery
Tractorel consideră că un șir are proprietea de Minune dacă toate elementele șirului de sume parțiale care încep de la primul element sunt nenegative.
La operația de tip Query, Tractorel vă roagă frumos să determinați o permutare circulară a șirului astfel încât acesta să aibă proprietatea de Minune. Spre exemplu, dacă avem șirul acesta se poate permuta circular in șirurile , , , iar șirul sumelor parțiale asociat acestor șiruri este: , , , . Se observă că șirurile respectă proprietatea de șiruri Minune.
Tractorel, fiind modest, nu dorește decât afișarea unui singur număr la operația de tip Query, anume cu câte poziții trebuie să permute circular șirul spre stânga pentru ca acesta să aibă proprietatea de șir Minune. Un răspuns corect la o operație Query pe este pentru că șirul obținut prin permutarea circulară a lui de ori la stânga este , care este un șir Minune.
În caz că nu există nici un șir minune în toate permutările circulare ale șirului, se va afișa .
Cerință
Pentru un șir conținând inițial numere întregi și operații de tipul Insert (X Y)
, Delete K
, Query
. personajul principal dorește să afișati răspunsul la toate intrebările de tip Query
.
Date de intrare
În fișierul de intrare rotatii.in
, pe prima linie se află numere intregi și , iar pe a -a linie se află numere intregi. După linia urmează linii, reprezentând operațiile codificate in felul următor:
0 X Y
-Insert (X, Y)
1 K
-Delete
2
-Query
Date de ieșire
În fișierul de ieșire rotatii.out
se va afișa raspunsul la fiecare query pe câte unul număr pe o linie reprezentând numărul de poziții cu care trebuie rotit șirul sau dacă nu există soluție.
Restricții și precizări
- numărul curent de elemente din șir
- Șirul conține numere întregi din intervalul
Exemplu
rotatii.in
4 6
2 -3 5 2
0 4 -100
2
1 5
2
0 1 -4
2
rotatii.out
-1
3
3
Explicație
La primul query sirul are forma și pentru nicio permutare circulară nu avem proprietatea de șir Minune. Mai departe analizați :).