Laiko ribojimas: 1s

Atminties ribojimas: 64MB

Jei norite pateikti savo sprendimą - prisijunkite.

Posekio suma

Jums duota iš n (1\\leqn\\leq18) elementų sudaryta seka a_1,a_2,...,a_n (-10^7\\leqa_i\\leq10^7). Taip pat duotas skaičius k. Suraskite, ar įmanoma pasirinkti kažkiek skaičių iš sekos a (to paties sekos elemento paimti du kartus negalima) taip, kad pasirinktųjų skaičių suma būtų lygi k (-10^9\\leqk\\leq10^9). Jei įmanoma, pateikite vieną tokį pavyzdį.

Pradiniai duomenys

Pirmoje eilutėje pateikti tarpais atskirti skaičiai n ir k. Antroje eilutėje pateikti tarpais atskirti sveikieji skaičiai a_1,a_2,...a_n.

Rezultatai

Išveskite žodį NE, jei neįmanoma parinkti tokių skaičių iš sekos, kad jų suma būtų lygi k. O jei įmanoma tokią seką pasirinkti, pirmoje eilutėje išveskite žodį TAIP. Antroje eilutėje išveskite skaičių m - jūsų surasto pavyzdžio dydį, t. y., kiek jūsų surastame sekos posekyje yra elementų. Tuomet trečioje eilutėje pateikite tarpais atskirtus m skaičių: indeksus elementų, kuriuos pasirinkote.

Pavyzdžiai

Duomenys Rezultatai Paaiškinimas
5 0
0 0 0 0 5
TAIP
0
Neimsime nei vieno skaičiaus, todėl jų suma bus 0
5 8
2 3 3 5 0
TAIP
2
3 4
Sudėsime trečią ir ketvirtą skaičius ir gausime 3+5=8. Tai nėra vienintelis galimas atsakymas.