E. Дары
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Жил старик со своею старухой у самого синего моря. Однажды, закинув в море невод, старик поймал рыбку, да не простую, а золотую. Рыбка молвила: «Отпусти меня, старче! Взамен я откуплюсь n дарами, какие ты только пожелаешь!». Затем рыбка дала старику список с названиями даров и их ценностями. В списке некоторые дары могут иметь одинаковые названия, но разные ценности, однако не может быть двух даров с одинаковыми названием и ценностями. Также могут быть два дара с разными названиями, но одинаковыми ценностями. Старик может назвать рыбке n названий из этого списка. Если в списке, предоставленном рыбкой, некоторое название встречается ровно p раз, то старик не может среди своих n названий использовать это название более чем p раз.

Старику известно, что если он попросит s даров одинакого названия, то золотая рыбка случайным образом (равновероятно среди всех возможных способов) выберет s даров различной ценности с таким названием из своего списка. Старик не хочет рассердить свою старуху; поэтому он выберет n названий таким способом, что будет иметь возможность получить n даров, имеющих наибольшую ценность. Причем он не очень дальновидный, поэтому, если таких способов несколько, то он выбирает один из них равновероятно.

Старик задумался о том, с какой вероятностью он сможет получить n самых ценных даров. Так как старик не силен в теории вероятности, он просит вашей помощи.

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

Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 1000), разделенные пробелом — количество желаний старика и количество различных названий в списке золотой рыбки, соответственно. Далее следуют m строк: i-тая строка содержит сперва целое число ki (ki > 0) — количество различных ценностей даров i-того названия, а затем ki различных целых чисел cij (1 ≤ cij ≤ 109), разделенных пробелами — ценности этих даров.

Гарантируется, что сумма всех ki не превышает 1000. Гарантируется, что n не больше, чем суммарное количество даров.

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

В единственной строке выведите вещественное число — вероятность получить n самых ценных даров. Ответ будет считаться правильным, если его относительная или абсолютная погрешность не превышает 10 - 9.

Примеры
Входные данные
3 1
3 10 20 30
Выходные данные
1.000000000
Входные данные
3 2
1 40
4 10 20 30 40
Выходные данные
0.166666667