Долина Замков была вся освещена лучами полуденного солнца. На балконе одного из Замков можно было рассмотреть две фигуры — большую и маленькую. Дракон и Принцесса пили чай. Поскольку Дракон увлекался составлением чаёв, он был чрезвычайно рад, что Принцесса с удовольствием пьёт чай и охотно слушает его рассказы о том, как получился тот или иной напиток.
Дракон всегда кладёт в чайник m чайных ложек ингредиентов, которые называет долями. При этом, если в рецепте записано «положить две доли чёрного цейлонского чая, добавить одну долю листьев смородины, одну долю цветков василька, а после положить ещё одну долю чёрного цейлонского чая и долю лепестков календулы», то он будет делать всё точно в таком порядке — поскольку совершенно уверен, что вкус чая зависит от порядка добавления ингредиентов.
Дракон рассказал Принцессе, что когда-то давно один знакомый Рыцарь поделился с ним рецептом очень вкусного чая, и с тех пор он, Дракон, стал пробовать составлять новые чаи. В этом очень вкусном чае он попытался заменить некоторые ингредиенты другими, а когда результат ему вновь понравился — записал новый рецепт. Так он поступал много раз, каждый раз выбирая в качестве основы один из уже записанных рецептов.
У Дракона своя система составления и записи рецепта чая. Он обозначил все используемые им ингредиенты строчными символами латинского алфавита (каждому ингредиенту соответствует свой символ). Таким образом, описание чая — это строка из m символов, записанных в том порядке, в котором соответствующие им ингредиенты перечислены в рецепте Дракона.
При выборе обозначений Дракон полагал, что более похожие (с его точки зрения) ингредиенты должны быть обозначены более близко расположенными в алфавите символами. Действительно, заменить листья смородины листьями ежевики куда менее радикальное решение, чем заменить лепестки календулы корицей. Поэтому он определил «расстояние между рецептами» как максимальное (по абсолютной величине) расстояние между ингредиентами, указанными в рецептах на одинаковых позициях.
Дракон записывает рецепт каждого чая на отдельном листке и хранит все эти листки в чайной шкатулке. Поэтому совершенно точно узнать, каким было максимальное расстояние между рецептами в процессе составления всех видов чая, уже не получится. Однако Дракон уверяет, что это максимальное расстояние было минимально возможным.
Ваша задача — по заданным описаниям n видов чая определить минимальное значение максимально возможного расстояния между рецептами, которое могло возникнуть в ходе их составления.
В первой строке содержатся целые числа n и m (2 ≤ n ≤ 1000, 1 ≤ m ≤ 30) — количество рецептов и количество ингредиентов в каждом рецепте.
В каждой из следующих n строк содержится по одному рецепту — строке из m символов. Гарантируется, что все рецепты различны.
Выведите единственное целое число — минимальное значение максимально возможного расстояния между рецептами, которое могло возникнуть в ходе их составления.
5 2
fb
ga
ef
dc
fd
2
Поясним приведённый пример.
Предположим, что рецептом самого вкусного чая был первый рецепт (fb). Несложно заметить, что расстояние до рецепта второго чая (ga) составляет единицу. Очевидно, что это минимально возможное расстояние между разными рецептами, и можно считать, что второй рецепт был получен непосредственно из первого.
Четвёртый рецепт (dc) отстоит от первого рецепта на расстояние 2; также на расстояние 2 от четвёртого рецепта отстоит пятый рецепт (fd). Можно полагать, что Дракон взял за основу первый рецепт, получил из него четвёртый, а затем из четвёртого — пятый.
Наконец, третий рецепт (ef) мог быть получен из пятого рецепта (fd); расстояние между ними составит 2.
Таким образом, Дракон может получить все перечисленные рецепты чая таким образом, что расстояние между рецептами никогда не будет превосходить 2.