F2. Солнышки и лучики
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Умный Бобер увлекся рисованием. Он рисует солнышки. Однако, в какой-то момент Умный Бобер понял, что просто рисовать солнышки ему скучно. И он решил разработать программу, которая будет обрабатывать его рисунки. Вам дано изображение, нарисованное Бобром. Оно будет иметь два цвета: один для фона, второй для солнышек на изображении. Ваша задача будет заключаться в том, чтобы посчитать число солнышек на изображении и для каждого из них посчитать число лучиков.

Солнышко представляет собой произвольно повернутый эллипс с лучиками. Под лучиком будем понимать отрезок соединяющий границу эллипса с некоторой точкой вне эллипса.

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

Гарантируется, что:

  • Никакие два солнышка не имеют общих точек.
  • Толщина лучиков будет составлять 3 пикселя.
  • Длины осей эллипсов, соответствующих солнышкам, будут лежать в пределах от 40 до 200 пикселей.
  • Никакие два лучика не пересекаются.
  • Длины всех лучиков будет лежать в пределах от 10 до 30 пикселей.
Входные данные

Первая строка содержит два целых числа h и w — высота и ширина изображения (1 ≤ h, w ≤ 1600). Следующие h строк будут содержать по w целых чисел, разделенных пробелами. Они описывают рисунок Умного Бобра. Каждое из этих чисел будет равно либо 0 (фон изображения), либо 1 (цвет солнышка).

Ограничения на входные данные для получения 30 баллов (подзадача F1):

  • Все солнышки на изображении имеют форму кругов.

Ограничения на входные данные для получения 70 баллов (подзадачи F1+F2):

  • Все солнышки на изображении имеют форму эллипсов, оси которых параллельны координатным осям.

Ограничения на входные данные для получения 100 баллов (подзадачи F1+F2+F3):

  • Все солнышки на изображении имеют форму эллипсов, которые могут быть произвольным образом повернуты.
Выходные данные

Первая строка должна содержать ровно одно целое число k — количество солнышек на рисунке Бобра. Вторая строка должна содержать ровно k целых чисел, разделенных пробелами. Эти числа будут соответствовать количеству лучиков на каждом из солнышек. Числа во второй строке должны быть отсортированы по возрастанию.

Примеры
Примечание

Для каждого уровня сложности Вам предлагается пример исходных данных. Скачать примеры можно на http://www.abbyy.ru/sun.zip.