Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Zbiór
(zbior)
Memory limit: 256 MB
Time limit: 5.00 s

Jasio, jak każdy normalny chłopiec w jego wieku, ma swój ulubiony zbiór X. Spełnia on następujące własności:

  • 1 ∈ X,
  • jeżeli a ∈ X to również 2a + 1 ∈ X,
  • jeżeli a ∈ X to również 3a ∈ X,
  • jeżeli a ∈ X to również 5a ∈ X,
  • do zbioru X nie należą żadne inne liczby, których nie można uzyskać regułami opisanymi powyżej.

Trochę enigmatyczna ta definicja ulubionego zbioru Jasia, prawda? Wypadałoby to jakoś rozszyfrować, na przykład tak, żeby być w stanie szybko stwierdzać jakie liczby należą do tego zbioru, a jakie nie. Czy podołasz temu zadaniu?

Napisz program, który: wczyta ciąg liczb naturalnych, dla każdej z nich stwierdzi czy należy do zbioru X i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna Q, określająca liczbę zapytań. W kolejnych Q wierszach znajduje się opis kolejnych zapytań, po jednym w wierszu. Opis każdego zapytania składa się z jednej liczby naturalnej Ai.

Wyjście

Twój program powinien wypisać na wyjście dokładnie Q wierszy. W i-tym z nich powinna się znaleźć odpowiedź dla i-tego zapytania. Odpowiedź dla każdego zapytania to jedno słowo TAK lub NIE w zależności od tego czy liczba Ai należy do zbioru X czy nie.

Ograniczenia

1 ≤ Q ≤ 10 000, 1 ≤ Ai ≤ 1018.

Przykład

Input Output Explanation
3
3
2
15
TAK
NIE
TAK

Z pierwszej reguły wynika, że liczba 1 należy do zbioru X. W takim razie z reguły drugiej lub trzeciej wynika, że liczba 3 również do X należy.

Liczba 2 nie należy do zbioru X.

Analogicznie, skoro liczba 3 należy do zbioru X to również liczba 15 do tego zbioru należy (czwarta reguła).