Cerință
Metroul de pe M6 are scaune așezate în linie și numerotate de la la . Pentru că utilizatorii acestei linii sunt disciplinați, aceștia vor intra câte unul pe rând în acest metrou. Atunci când un pasager intră în metrou și vrea să se așeze, întotdeauna va alege scaunul cu distanța maximă față de cel mai apropiat vecin. Dacă există mai multe astfel de scaune, se va alege cel cu indicele minim.
Spre exemplu, dacă avem un metrou cu scaune iar în metrou intră pasageri, ei se vor așeza pe scaune în felul următor:
- Primul pasager se va așeza pe scaunul ;
- Al doilea pasager se va așeza pe scaunul ;
- Al treilea pasager se poate așeza fie pe scaunul , fie pe (acestea sunt cele mai depărtate scaune de unele deja ocupate), dar îl va alege pe , deoarece are indicele mai mic;
- Al patrulea pasager se va așeza pe scaunul . Atenție: acesta nu se așează pe scaunul , deoarece se ia distanța minimă față de vecini, iar aceasta ar fi tot ;
- Al cincilea pasager se va așeza pe scaunul ;
- Al șaselea pasager se va așeza pe scaunul .
Dorim să aflăm pentru pasageri care intră pe rând în metrou, pe ce scaun se va așeza fiecare.
Date de intrare
Pe prima linie se vor afla numerele naturale și , cu specificația din enunț.
Date de ieșire
Pe prima linie se vor afișa numere separate prin spațiu. Al -lea număr va reprezenta scaunul pe care se așează cel de-al -lea pasager.
Restricții și precizări
- ;
- ;
- Se garantează că pentru toate testele;
- Pentru din punctaj, ;
- Pentru din punctaj, ;
- Pentru restul testelor, nu există restricții suplimentare.
Exemplul 1
stdin
10 6
stdout
1 10 5 3 7 2
Exemplul 2
stdin
16 10
stdout
1 16 8 12 4 6 10 14 2 3