Tuti este un student pasionat de fizică, iar recent a descoperit o mare fascinație pentru simulările de apă. În loc să-și facă temele de informatică, el a petrecut ore întregi dezvoltând un simulator de apă. Profesorul Nea Cais nu e deloc încântat de această preocupare, insistând că Tuti ar trebui să se concentreze pe temele de informatică.
Nea Cais i-a propus lui Tuti să rezolve problema cât mai eficient dacă tot nu lucrează. Acesta fiind încântat că scapă de cicălirea lui Nea Cais, acceptă.
Simulatorul de apă este format din mai multe părți. Una dintre ele este cea în care programul trebuie să spună pentru o moleculă de apă ce molecule sunt în jurul ei.
Cerință
În simulator se primesc molecule, indexate de la la în ordinea primirii lor la intrare de coordonate întregi într-un grid de pe . Acestea sunt cercuri cu raza și nu se intersectează.
În practica Tuti trebuie să răspundă la întrebări de feluri:
- Operația 1: să se mute o moleculă de index de la poziția ei inițială la o alta ;
- Operația 2: să se spună câte molecule sunt la o distanță maxim 5 de molecula cu index și care sunt indexii lor (distanța se consideră de la centrele moleculelor).
Date de intrare:
Pe prima linie a fișierului watersimu.in
vor fi urmat de . Urmează linii cu perechi reprezentând poziția pe grid a moleculei de index .
După o sa mai fie linii cu valoarea 1 sau 2 reprezentând operația:
- Daca e valoarea 1 înseamnă că o sa mai apară și un (indexul moleculei) și un fiind locația unde se mută;
- Daca e valoarea 2 înseamnă că o sa mai apară și un (indexul moleculei).
Date de ieșire:
Pentru fiecare operație de tipul 2 se va afișa pe o linie a fișierului watersimu.out
numărul de molecule la o distanță maxim față de molecula și indexul lor. Indexii trebuie afișați în ordine crescătoare.
Restrictii si precizari
- ;
- Testele sunt generate aleatoriu;
- Moleculele nu se intersectează;
- Distanța dintre 2 molecule este distanța dintre centrele lor.
- Coordonatele centrelor sunt numere naturale între și ;
- Pentru de puncte, .
Exemplu
watersimu.in
6 4
0 0
0 6
3 0
0 30
30 0
5 0
2 4
2 3
1 1 3 3
2 1
watersimu.out
0
2 1 6
3 2 3 6