Problem description
Jako, że święta tuż-tuż, to dwaj studenci postanowili posprzątać swój pokój pierwszy raz od momentu, gdy się do niego wprowadzili (wprowadzili się dwa lata temu).
Na podłodze wala się wiele śmieci różnych rodzajów. Wykształceni studenci świadomi są potrzeby ich segregacji, wobec czego w jednym przejściu od pokoju do śmietnika student weźmie pewną liczbę odpadów tego samego rodzaju.
Nasi bohaterowie są jednak sprytni. By nie przeszkadzać sobie nawzajem w zbieraniu syfu z podłogi, chodzą do śmietnika na zmiany: najpierw Student 1 zbiera jakieś śmieci i dopiero wtedy, gdy wychodzi je wyrzucić, Student 2 zaczyna zbierać swoje. Gdy Student 1 wraca zebrać więcej śmieci, Student 2 jest w drodze do śmietnika.
Student oczywiście nie będzie się przemęczał bardziej niż jego kolega student. Widząc, że współlokator wziął ze sobą x śmieci, w kolejnym przejściu nie weźmie ich więcej niż x. Z drugiej strony obaj chcieliby kiedyś skończyć, więc podczas każdego przejścia student zabierze przynajmniej jednego śmiecia. Podsumowując, jeśli jeden ze studentów zabrał ze sobą x śmieci, to drugi z nich w kolejnym przejściu zabierze pewną, wybraną przez siebie liczbę śmieci mieszczącą się w przedziale [1,x].
Ten z nich, który pierwszy skończy sprzątać – czyli na początku swojej tury zastanie podłogę czystą – natychmiast zacznie grać na komputerku (są biedni i mają jeden komputerek, więc drugi nie pogra; mają też jeden wspólny talerz).
Sprzątanie rozpoczyna Student 1. Ponieważ konsekwentnie oblewał każdy semestr wuefu, nie uniesie na raz więcej niż K śmieci.
Twoim zadaniem jest napisanie programu, który wczyta opis śmieci w ich pokoju, a następnie stwierdzi, czy Student 1 będzie mógł pograć na komputerku, niezależnie od wyborów Studenta 2.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby całkowite N i K oddzielone pojedynczym odstępem,
oznaczające kolejno liczbę różnych rodzajów odpadów oraz maksymalny
udźwig studenta.
W drugim wierszu wejścia znajduje się N liczb całkowitych, pooddzielanych
pojedynczymi odstępami. Oznaczymy i-tą z nich przez Ai. Jest to
liczba śmieci i-tego
rodzaju.
Wyjście
Wyjście składa się z jednego wiersza.
W wierszu tym powinien znaleźć się napis TAK jeśli Student
1 może skończyć sprzątanie jako pierwszy niezależnie od wyborów Studenta
2.
W przeciwnym przypadku powinien znaleźć się tam napis
NIE.
Ograniczenia
1 ≤ N ≤ 100 000, 1 ≤ K, Ai ≤ 109.
Podzadania
| Podzadanie | Warunki | Punkty |
|---|---|---|
| 1 | K = 1 | 26 |
| 2 | N = 1, K ≤ 100, A1 ≤ 100 | 8 |
| 3 | N ≤ 10, Ai ≤ 5 | 19 |
| 4 | N = 1 | 16 |
| 5 | K = 2 | 16 |
| 6 | K jest potęgą dwójki | 7 |
| 7 | brak dodatkowych ograniczeń | 8 |
Przykład
| Wejście | Wyjście | Wyjaśnienie |
|
|
Student 1 ma tylko jeden ruch, po którym przegrywa. |
| Wejście | Wyjście | Wyjaśnienie |
|
|
Student 1 może zabrać dwa odpady. Po tym ruchu Student 2 ma tylko jeden ruch, po którym przegrywa. |
| Wejście | Wyjście | |
|
|
| Wejście | Wyjście | |
|
|