• Time limit: 1.00 s
  • Memory limit: 512 MB

Annettuna on lista, jossa on n kokonaislukua. Sinun tulee suorittaa m operaatiota, jossa listan k pienimpään lukuun lisätään yksi. Mikä on lopullinen lista?

Syöte

Ensimmäisellä rivillä on kaksi kokonaislukua n ja m: listan koko ja operaatioiden määrä.

Seuraavalla rivillä on n kokonaislukua x_1,x_2,\dots,x_n: listan alkusisältö. Listan luvut on järjestetty pienimmästä suurimpaan.

Viimeisellä rivillä on m kokonaislukua k_1,k_2,\dots,k_m: lukujen määrät operaatioissa.

Tuloste

Tulosta listan lopullinen sisältö järjestettynä pienimmästä suurimpaan.

Esimerkki

Syöte:

8 6
0 1 1 2 3 5 5 5
3 2 1 4 2 8

Tuloste:

4 5 5 5 5 6 6 6

Osatehtävä 1 (20 pistettä)

  • 1 \le n, m \le 1000
  • 0 \le x_i \le 1000

Osatehtävä 2 (33 pistettä)

  • 1 \le n, m \le 10^5
  • x_i=0

Osatehtävä 3 (47 pistettä)

  • 1 \le n, m \le 10^5
  • 0 \le x_i \le 10^6