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

Tehtäväsi on etsiä alkuluku, joka muodostuu annetuista numeroista, tai todeta, ettei halutunlaista alkulukua ole olemassa. Vastauksen tulee sisältää jokainen annettu numero vähintään kerran, eikä siinä saa olla muita numeroita.

Esimerkiksi jos numerot ovat 0, 1 ja 7, kelvollisia vastauksia ovat esimerkiksi alkuluvut 107 ja 11071. Seuraavat vastaukset eivät kuitenkaan ole kelvollisia:

  • 170 ei ole alkuluku
  • 17 on alkuluku mutta ei sisällä numeroa 0
  • 7103 on alkuluku mutta sisältää ylimääräisen numeron 3
  • 017 sisältää etunollan, joka ei ole sallittu

Syöte

Ensimmäisellä rivillä on testien määrä t.

Jokainen testi muodostuu kahdesta rivistä, joista ensimmäisellä on numeroiden määrä k ja toisella on halutut numerot.

Jokainen numero on välillä 0 \dots 9, eikä samaa numeroa anneta monta kertaa.

Tuloste

Tulosta ensin YES, jos alkuluku on olemassa, ja muuten NO. Jos alkuluku on olemassa, tulosta mikä tahansa kelvollinen alkuluku, jonka suuruus on enintään 10^{16}.

Esimerkki

Syöte:

5
1
1
3
1 2 3
2
2 5
2
2 7
3
1 0 5

Tuloste:

YES
11
YES
1213
NO
YES
727
YES
5051

Osatehtävä 1 (17 pistettä)

  • 1 \le t \le 10
  • k = 1

Osatehtävä 2 (41 pistettä)

  • 1 \le t \le 1000
  • 1 \le k \le 3

Osatehtävä 3 (42 pistettä)

  • 1 \le t \le 1000
  • 1 \le k \le 10