Problem description
Mały Jasio jest kolekcjonerem monet. Posiada on N monet, z których żadne dwie nie są tej samej wartości. Niestety, Jasio ostatnio narozrabiał – grając w piłkę ze swoim kolegą Andrzejem wybił szybę sąsiadowi. Nowa szyba kosztuje K bajtalarów. Jasio będzie musiał oddać część swojego zbioru monet o łącznej wartości dokładnie K bajtalarów, zatem z niektórymi okazami ze swojej kolekcji trzeba będzie się pożegnać.
Pomóż Jasiowi podjąć decyzję i wyznacz monety, które już stracił – takie, bez których nie da się wydać kwoty K bajtalarów.
Napisz program, który: wczyta wartości monet z kolekcji Jasia oraz wartość szyby, wyznaczy podzbiór monet, z którymi Jasio na pewno będzie się musiał pożegnać, wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N i K, określające liczbę monet w zbiorze Jasia oraz wartość nowej szyby. W drugim i ostatnim wierszu wejścia znajduje się N parami różnych liczb naturalnych Ai, pooddzielanych pojedynczymi odstępami. Są to wartości monet Jasia.
Gwarantowane jest, że pewien podzbiór monet Jasia pozwala zapłacić za szybę.
Wyjście
W pierwszym i jedynym wierszu wyjścia należy wypisać w kolejności
rosnącej nominały monet, które są niezbędne do zapłacenia za szybę.
Liczby te mają być pooddzielane pojedynczymi odstępami. Jeśli żaden
nominał nie jest niezbędny do kupna szyby należy wypisać na wyjście
OK
.
Ograniczenia
1 ≤ N ≤ 1 000, 1 ≤ K ≤ 10 000, 1 ≤ Ai ≤ K.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Za szybę można zapłacić na dwa sposoby 7 + 5 lub 3 + 4 + 5. W obu przypadkach należy niestety użyć nominału 5. |