Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

F. Няня
ограничение по времени на тест
7 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Теофанис хочет играть в видеоигры, но при этом он должен заботиться о своей сестре. Поскольку Теофанис учится на программиста, он нашел способ делать и то, и другое. Он установит в своем доме несколько камер, чтобы убедиться, что с его сестрой все в порядке.

Его дом — это неориентированный граф с n вершинами и m ребрами. Его сестра любит играть на ребрах графа, поэтому он должен установить камеру хотя бы в одном из концов каждого ребра графа. Теофанис хочет найти вершинное покрытие, которое максимизирует минимальную разницу между номерами выбранных вершин.

Более формально, пусть a1,a2,,ak — вершинное покрытие графа. Пусть минимальная разница между номерами выбранных вершин — это минимальное |aiaj| (где ij) среди вершин, которые вы выбрали. Если k=1, то считаем, что минимальная разница между номерами выбранных вершин равна n.

Можете ли вы найти максимально возможную минимальную разницу между номерами выбранных вершин?

Входные данные

Первая строка содержит одно целое число t (1t104) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит два целых числа n и m (1n105,1m2105) — количество вершин и количество ребер.

В i-й из следующих m строк содержатся два целых положительных числа ui и vi (1ui,vin), обозначающие, что между ними в графе существует ребро.

Гарантируется, что сумма n по всем наборам входных данных не превосходит 105.

Гарантируется, что сумма m по всем наборам входных данных не превосходит 2105.

Выходные данные

Для каждого набора входных данных выведите максимум среди минимальных разностей между выбранными вершинами среди всех вершинных покрытий.

Пример
Входные данные
3
7 6
1 2
1 3
1 4
1 6
2 3
5 7
3 3
1 2
1 3
1 1
2 4
1 2
1 2
2 1
1 1
Выходные данные
2
3
2
Примечание

В первом наборе входных данных мы можем установить камеры в вершинах 1, 3 и 7, поэтому ответ — 2.

Во втором наборе входных данных мы можем установить только одну камеру в вершине 1, поэтому ответ равен 3.