Se dă o listă, inițial vidă, cu numere. Toor dorește să completeze lista asta, adăugând numere pe care le consideră importante pentru cmmdc. La fiecare moment, dorește să afle cmmdc-ul tuturor numerelor care sunt în listă atunci. Câteodată, scoate un număr care este în listă, pentru a putea adăuga ulterior altele. Prin convenție, cmmdc-ul unei mulțimi cu 0
elemente este 1
.
Astfel, operațiile sunt de tipul :
+ X
– adaugă un număr în listă- X
– scoate un număr din listă
Cerința
Să se determine după fiecare operație cmmdc-ul mulțimii actuale de numere.
Date de intrare
Fișierul de intrare toorcmmdc.in
conține pe prima un număr natural N
. Pe următoarele Nlinii, se găsesc operațiile date.
Date de ieșire
Fișierul de ieșire toorcmmdc.out
va conţine N
linii, fiecare cu răspunsul cerut
Restricții și precizări
N ≤ 100.000
. Fiecare valoare este mai mică decât1.000.000.000
- Pentru 30% din teste,
N ≤ 1000
. - Dacă un număr nu se află în listă, va fi ignorată ștergerea. Dacă se află de mai multe ori, va fi scos doar o singură dată.
Exemplu:
toorcmmdc.in
5 + 2 + 6 + 12 - 2 + 9
toorcmmdc.out
2 2 2 6 3
Explicație
După prima operație, mulțimea are doar elementul 2
. După a patra operație, mulțimea are elementele {6, 12}
.