Олимпиадный тренинг

Задача . D. Произведение двоичных десятичных чисел


Давайте назовем число двоичным десятичным, если это положительное целое число, и все цифры в его десятичной записи равны \(0\) или \(1\). Например, \(1\,010\,111\) является двоичным десятичным числом, в то время как \(10\,201\) и \(787\,788\) не являются таковыми.

Дано число \(n\), вам нужно определить, возможно ли представить \(n\) в виде произведения некоторых (не обязательно различных) двоичных десятичных чисел.

Входные данные

Первая строка содержит одно целое число \(t\) (\(1 \leq t \leq 5 \cdot 10^4\)) — количество наборов входных данных.

Единственная строка каждого набора содержит одно целое число \(n\) (\(1 \leq n \leq 10^5\)).

Выходные данные

Для каждого набора входных данных выведите «YES» (без кавычек), если \(n\) можно представить в виде произведения двоичных десятичных чисел, и «NO» (без кавычек) в противном случае.

Вы можете выводить «YES» и «NO» в любом регистре (например, строки «yES», «yes» и «Yes» будут распознаны как положительный ответ).

Примечание

Первые пять примеров можно представить в виде произведения двоичных десятичных чисел следующим образом:

  • \(121 = 11 \times 11\).
  • \(1 = 1\) уже является двоичным десятичным числом.
  • \(14\,641 = 11 \times 11 \times 11 \times 11\).
  • \(12\,221 = 11 \times 11 \times 101\).
  • \(10\,110 = 10\,110\) уже является двоичным десятичным числом.

Примеры
Входные данныеВыходные данные
1 11
121
1
14641
12221
10110
100000
99
112
2024
12421
1001
YES
YES
YES
YES
YES
YES
NO
NO
NO
NO
YES

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя