






Problem description
Wielozbiór (czyli zbiór, w którym dopuszczamy powtarzające się elementy) liczb nazwiemy trójkowiastym, jeśli suma jego elementów jest podzielna przez 3. Przykładowo, zbiory {1, 2, 3} oraz {12} są trójkowiaste, a zbiór {2, 2, 2, 2} – nie.
Napisz program, który dla danego zbioru N liczb naturalnych {A1, A2, …, An} sprawdzi, czy można go rozbić na K niepustych, rozłącznych podzbiorów, z których każdy jest trójkowiasty.
Wejście
W pierwszym wierszu znajduje się liczba naturalna T, oznaczająca liczbę testów. W kolejnych 2T wierszach znajdują się dane dla kolejnych testów.
Dane dla każdego testu zapisane są w dwóch wierszach:
- W pierwszym z nich znajdują się liczby naturalne N i K.
- W drugim z nich znajduje się N liczb naturalnych A1, A2, …, An.
Wyjście
W i-tym wierszu należy wypisać wynik dla i-tego testu, którym jest jedno słowo:
TAK
– jeśli zbiór {A1, A2, …, An} można rozbić na K niepustych, rozłącznych podzbiorów trójkowiastych,NIE
– w przeciwnym przypadku.
Ograniczenia
1 ≤ T ≤ 15, 1 ≤ N, K ≤ 1 000 000, 1 ≤ Ai ≤ 1018.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Dla N = 3, K = 3 oraz zbioru {1, 2, 3} odpowiedzią jest Dla N = 10, K = 4 oraz zbioru {1, 2, 7, 23, 1, 7, 8, 61, 32, 8} odpowiedzią
jest |