아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Druk

시간 제한4초메모리 제한1024 MB

요약
글자 격자를 출력할 때, 같은 문자열의 가로·세로 두 가지 버전으로 모든 칸을 정확히 한 번씩 찍을 수 있는 템플릿 길이를 모두 구한다.
난이도

보통10점 중 7점

유형
문자열, 문자열 매칭, 분할 정복, 수학
정답자
아직 제출이 없습니다

문제

Drukarz Bajtazar otrzymał zlecenie wydrukowania tabliczki zapisanej tekstem. Litery na tabliczce są rozmieszczone równomiernie na kratce o wymiarach n×m. Bajtazar wykona wydruk za pomocą szablonu drukarskiego będącego paskiem o szerokości równej szerokości jednego rzędu liter. Wydruk odbędzie się przez (potencjalnie wielokrotne) przykładanie szablonu i rozprysk farby dokładnie nad szablonem, przy czym w momencie wydruku szablon nie może wystawać poza tabliczkę.

Szablon zostanie przygotowany w wersji poziomej i pionowej, przy czym obie wersje muszą zawierać ten sam tekst. Każdą pozycję tabliczki Bajtazar musi wydrukować za pomocą szablonu dokładnie raz. Zauważ, że żadnej z wersji szablonu nie można obracać, żeby litery nie wydrukowały się w sposób obrócony.

Pomóż Bajtazarowi i podaj wszystkie długości szablonu, za pomocą których Bajtazar może wydrukować całą tabliczkę.

입력

W pierwszym wierszu wejścia znajdują się dwie dodatnie liczby całkowite n i m, oznaczające odpowiednio liczbę rzędów liter na tabliczce i liczbę liter w każdym rzędzie tabliczki. W i-tym z kolejnych n wierszy znajdzie się m-literowy napis złożony z małych liter alfabetu angielskiego (a–z), oznaczający docelową zawartość i-tego od góry rzędu tabliczki.

출력

Pierwszy wiersz wyjścia powinien zawierać jedną liczbę całkowitą oznaczającą liczbę długości szablonu, którymi Bajtazar może wydrukować tabliczkę. W drugim wierszu powinny znaleźć się wszystkie te długości, uporządkowane ściśle rosnąco, pooddzielane pojedynczymi odstępami. Jeśli w pierwszym wierszu wyjścia znajdzie się liczba 0, drugi wiersz powinien pozostać pusty.

제한

  • n, m ≤ 1000

힌트

예제1

  1. 예제 1

    입력
    5 8
    aabaaaaa
    babaabbb
    aabaaaaa
    aabaaaaa
    abaaabaa
    
    예상 출력
    1
    4