Задача C. Составные блоки

Автор:А. Баранов   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:2 Мб
Выходной файл:output.txt  

Условие

Рассмотрим множество всех возможных прямоугольных блоков, состоящих из одинаковых по размеру кубических ячеек.

Каждый такой блок имеет вид параллелепипеда и может быть представлен в виде трехмерного массива составляющих его ячеек. В свою очередь, поверхность каждой ячейки может быть разбита на составляющие ее двумерные грани и ребра, эти грани разделяющие.

Совпадающие между собой ребра (в которых две и более ячейки соприкасаются друг с другом) полагаются тождественными и рассматриваются как одно общее ребро. Так, например, блок размером 2 × 2 × 2 состоит из 8-ми ячеек и содержит в себе 54 ребра.

Требуется определить, существует ли прямоугольный блок, состоящий из m кубических ячеек и при этом имеющий ровно n ребер.

Формат входного файла

Во входном файле "input.txt" содержатся два натуральных числа: m и n.

Формат выходного файла

Выходной файл "output.txt" должен содержать одно из следующих значений:

1 — если заданный блок существует;

0 — в противном случае.

Ограничения

0 < m < 232, 0 < n < 264

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
8 54
1
2
6 43
0

0.122s 0.029s 15