Codeforces Beta Round 50 |
---|
Закончено |
Недавно Ёжик вспомнил одно из своих любимых занятий детства — собирание пазлов, и увлёкся им с новой силой. Целыми днями сидел он со своим другом и копался в тысячах маленьких кусочков картинки, отыскивая один за другим нужные элементы.
Вскоре Ёжику пришла в голову замечательная идея: вместо того чтобы покупать готовые пазлы, можно самому брать большой лист с какой-нибудь картиной и разрезать его на множество маленьких прямоугольных кусочков, затем перемешивать их и решать получившуюся головоломку, пытаясь собрать картину обратно. Так получается даже более сложная задача, чем классический пазл: ведь теперь все фрагменты имеют одинаковую прямоугольную форму, и собирать картину можно, только полагаясь на рисунок.
Все кусочки головоломки получаются одинакового размера X × Y, потому что картина разрезается сначала горизонтальными разрезами с шагом X, а затем — вертикальными разрезами с шагом Y. Если мы обозначим первоначальные размеры картины через A × B, то A должно делиться на X, B должно делиться на Y (X и Y — целые числа).
Однако не любое такое разрезание картины даст хороший пазл. Ёжик считает пазл хорошим, если никакие два кусочка в нём не совпадают (при сравнении кусочки разрешается поворачивать, но не переворачивать).
Ваша задача — для данной картины посчитать количество хороших пазлов, которые можно получить из неё, а также вывести пазл с самым маленьким размером кусочка.
В первой строке записаны два числа A и B — размеры картины. Это целые положительные числа, не превосходящие 20.
Далее идут A строк по B символов, описывающих саму картину. Строки состоят только из заглавных букв английского алфавита.
В первой строке выведите количество возможных хороших пазлов (иными словами, это количество таких пар (X, Y), что пазл с соответствующими размерами элементов будет хорошим). Это число должно быть всегда положительным, потому что вся картина тоже считается хорошим пазлом.
Во второй строке выведите два числа — размеры X и Y самого маленького возможного элемента среди всех хороших пазлов. Сравнение производится в первую очередь по площади XY одного элемента, во вторую очередь — по длине X.
2 4
ABDC
ABDC
3
2 1
2 6
ABCCBA
ABCCBA
1
2 6
В первом примере получаются следующие хорошие пазлы: (2, 1), (2, 2), (2, 4).
Название |
---|