Lost&Found

Time limit: 1s Memory limit: 64MB Input: Output:

Cerință

Inițial, exista un șir de NN numere naturale cuprinse între 11 și VV , unde VV este de forma 2k1,kN2^{k}-1,k\in\mathbb{N}. Acest șir a fost pierdut, tot ce a rămas fiind un șir ZZ de mărime VV care este definit în felul următor : Zi={j  i&Aj0, 1jN}Z_i = |\{j ~|~ i \& A_j \neq 0,~1 \leq j \leq N \}| , unde &\& reprezintă operația ANDAND pe biți. Mai exact, ZiZ_i = numărul de elemente jj pentru care Aj&i0A_j \& i \neq 0. Vi se dă șirul ZZ și se cere un posibil șir inițial.

Date de intrare

Pe prima linie se regăsesc numerele NN si VV. Pe a doua linie se află șirul ZZ (indexat de la 11).

Date de ieșire

O succesiune de NN numere cuprinse între 11 si VV cu semnificația din enunț sau 1-1 dacă nu există un astfel de șir.

Restricții și precizări

  • 1N,V21051 \leq N, V \leq 2\cdot10^{5};
  • ZZ e indexat de la 11.
  • 1Z[i]1091\leq Z[i] \leq 10^{9}
  • Se acceptă orice soluție corectă.
  • Pentru 3030 de puncte, V=3V = 3.

Exemplul 1

stdin

2 3
2 0 2

stdout

1 1

Explicație

Acesta este singurul șir posibil.

Exemplul 2

stdin

1 1
0

stdout

-1

Explicație

Nu există un astfel de șir.

Log in or sign up to be able to send submissions!