Ваш друг разрабатывает компьютерную игру. Он уже решил, каким должен быть игровой мир — он будет состоять из \(n\) локаций, соединенных \(m\) двусторонними переходами. Система переходов устроена таким образом, что с их помощью можно добраться из любой локации в любую другую.
Естественно, некоторые переходы будут охраняться монстрами (если можно пройти куда угодно без боя, то это слишком просто и совсем не весело, так ведь?). Некоторые важные переходы будут охраняться очень сильными монстрами, требующими серьёзной подготовки и разработки специальной боевой тактики (обычно таких монстров в играх называют боссами). Ваш друг как раз хочет, чтобы вы ему помогли расставить боссов по переходам.
Игра начнётся в локации \(s\) и закончится в локации \(t\), но эти локации пока не определены. После того, как эти две локации будут выбраны, ваш друг хочет поставить босса в каждый такой переход, что, не пользуясь этим переходом, невозможно попасть из локации \(s\) в локацию \(t\). Чем больше боссов будет в игре, тем лучше (чем сложнее игра, тем она веселее, так ведь?), и поэтому ваш друг попросил вас определить максимально возможное количество боссов, принимая во внимание любой возможный выбор локаций \(s\) и \(t\).
Выходные данные
Выведите одно число — максимальное количество боссов, которое можно поставить, по всем возможным парам локаций \(s\) и \(t\).