Азбука для слепых
Известно, что в книгах для слепых для обозначения различных букв используются различные комбинации выступов, которые читающий различает на ощупь [1]. Пусть для обозначения буквы используется прямоугольник шириной m мм и высотой n мм, причем некоторые входящие в него квадратики размера 1 * 1 содержат выступ.
Поскольку слепой не видит границ прямоугольника, то он не может различить комбинации, получающиеся друг из друга сдвигом. Так, он не может различить комбинации а) и б) на рисунке. (В то же время комбинации а) и в) являются различимыми, поскольку не могут быть получены друг из друга сдвигом)
Из-за этого при разработке алфавита для слепых появилась проблема: сколько различных букв можно представить с помощью выступов, если запрещается сопоставлять различным буквам комбинации, получающиеся друг из друга сдвигом. Прямоугольник совсем без выступов также нельзя использовать в качестве буквы (поскольку при написании слова между некоторыми буквами может появиться такой прямоугольник, например между а) и г) на рисунке).
Требуется подсчитать количество различных букв, которые можно представить таким способом, если прямоугольник имеет размер m * n.
В качестве примера, все буквы размера 2 * 2 приведены на рисунке. (Среди комбинаций, отвечающих одной букве, приведена только одна)
[1] Рассматриваемая в задаче модель лишь приблизительно соответствует реальной действительности.
Входные данные
Два числа m и n. Поскольку человек одновременно не может воспринимать слишком много информации, то m * n ≤ 30.
Выходные данные
Выведите количество различных букв, которые слепой сможет различить при заданном размере прямоугольника.