Se consideră C o coadă de numere naturale, iniţial vidă. Se definesc două tipuri de operaţii.
Operaţia 1 : push X, adaugă elementul X în coadă. Dacă X există deja în coadă, se scot toate elementele din coadă, pana la întâlnirea lui, inclusiv X.
Exemplu:
C: 2 4 5 1 6
Push 5
C: 1 6 5 ( s-au scos 2, 4, 5).
Operaţia 2: query X, cere afişarea poziţiei elementului X în coada C. Dacă elementul nu există în coadă, se afişează -1.
Exemplu:
C: 2 5 1 3 7
Query 1
Răspuns: 3
Cerința
Dându-se M, reprezentând numărul de operaţii şi cele M operaţii, să se răspundă la operaţiile de tip query.
Date de intrare
Fișierul de intrare coada1.in conține:
- Pe prima linie numărul natural
M; - Pe următoarele
Mlinii, câte un string şi câte un număr natural, de formatip_operaţie x, reprezentândtipul operaţieişi numărulX.
Date de ieșire
Fișierul de ieșire coada1.out va conține:
- Răspunsurile pentru operaţiile de tip
query, câte unul pe linie.
Restricții și precizări
1 ≤ M ≤ 50.0001 ≤ X ≤ 1.000
Exemplu:
coada1.in
10 push 3 push 6 push 8 push 2 query 6 push 6 query 4 push 6 push 7 query 6
coada1.out
2 -1 1
Explicație
Înaintea primei întrebări, coada arată asa: 3 6 8 2, deci 6 apare pe poziţia 2.
Înaintea celei de-a doua întrebări, coada arată asa: 8 2 6, deci 4 nu apare.
Înaintea ultimei întrebări, coada arată asa: 6 7, deci 6 apare pe poziţia 1.

