Dostępna pamięć: 32 MB
W pudełku znajduje się pewna liczba monet o sumarycznej masie 𝐹 gramów. Czy można bez otwierania pudełka stwierdzić, ile warte są pieniądze w środku?
Przykładowo załóżmy, że dostępne na rynku monety to moneta 1-groszowa ważąca 1 gram oraz moneta 30-groszowa ważąca 50 gramów, zaś całość waży 𝐹 = 100 gramów. Wtedy minimalna możliwa wartość monet w pudełku to 60 groszy (2 monety 30-groszowe), zaś maksymalna — 100 groszy (100 monet jednogroszowych).
W pierwszym wierszu wejścia znajduje się dodatnia liczba całkowita 𝐹 ⩽ 106, będąca sumaryczną masą monet w pudełku w gramach. W drugim wierszu wejścia znajduje się dodatnia liczba całkowita 𝐶 ⩽ 100, będąca liczbą dostępnych na rynku monet.
W każdym z kolejnych 𝐶 wierszy wejścia znajduje się opis 𝑖-tej monety, gdzie 𝑖 ∈ {1, . . . , 𝐶}. Opis monety jest parą dodatnich liczb całkowitych oddzielonych spacją: 𝑝𝑖 ⩽ 105 będąca nominałem w groszach i 𝑤𝑖 ⩽ 105 będąca wagą w gramach. Może istnieć wiele monet o takim samym nominale, ale różnych wagach i wiele monet o takiej samej wadze, ale różnych nominałach.
Pierwszy wiersz wyjścia powinien zawierać słowo TAK, jeśli masa 𝐹 jest możliwa do uzyskania za pomocą dostępnych na rynku monet, zaś słowo NIE w przeciwnym przypadku.
W przypadku odpowiedzi pozytywnej Twój program powinien wypisać cztery dodatkowe wiersze.W drugim wierszu wyjścia powinna znajdować się wtedy liczba
W czwartym wierszu wyjścia powinna znajdować się liczba
Jeśli istnieje wiele możliwych sposobów uzyskania wartości
100
2
1 1
30 50
TAK
60
0 2
100
100 0
10
3
1 1
2 4
4 16
TAK
6
2 2 0
10
10 0 0
5
3
1 2
1 4
2 4
NIE