QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 10

#6069. Karty [A]

统计

Bajtazar pracuje jako programista w latach 60. XX wieku. Jest to praca mozolna, gdyż programy wprowadza do komputera nie za pomocą klawiatury, lecz przy użyciu kart perforowanych. Karta rozmiaru $n \times m$ składa się z $n$ · $m$ jednakowych, prostokątnych pól ułożonych w $m$ kolumn po $n$ wierszy. Każde z pól może zostać przedziurkowane. Układ dziurek w karcie koduje treść programu. Na poniższym rysunku przedstawiono przykładową kartę rozmiaru $4 \times 5$. Dziurki w polach zostały zaznaczone czarnymi prostokątami.

problem_6069_1.gif

Bajtazar ma już w głowie program i wie, które pola powinien przedziurkować. Chciałby jednak przygotować kartę możliwie efektywnie. W tym celu postanowił, że wykona prostokątną matrycę, która przyłożona do karty przedziurkuje wszystkie pola w wybranym przez Bajtazara fragmencie rozmiaru $a \times b$ (tj. pola należące do przecięcia $a$ kolejnych wierszy z $b$ kolejnymi kolumnami). Rozmiar tej matrycy powinien być dobrany tak, by przy jej użyciu dało się wykonać kartę perforowaną posiadającą dziurki dokładnie w tych miejscach, w których zaplanował je Bajtazar. Jednocześnie, matryca powinna być jak największa. Ponieważ pola na karcie nie są kwadratowe, matrycy nie wolno obracać (np. by otrzymać matrycę rozmiaru $b \times a$).

Programowanie komputerów zajmuje dziś znacznie mniej czasu niż kiedyś, dlatego Bajtazar poprosił Cię o napisanie programu, który wyznaczy wymiary największej matrycy, za pomocą której można zapisać jego program na karcie.

Input Format

W pierwszym wierszu wejścia znajdują się dwie liczby całkowite $n$ oraz $m$ ($1 \le n,m \le 2\,500$). Oznaczają one, odpowiednio, liczbę wierszy oraz kolumn na karcie perforowanej. Kolejne $n$ wierszy zawiera opis programu Bajtazara. Każdy z tych wierszy składa się z $m$ znaków "_" lub "X". Znak "X" oznacza pole karty, które powinno zostać przedziurkowane, zaś "_" - pole, którego nie należy dziurawić. Możesz założyć, że opis karty zawiera przynajmniej jeden znak "X".

Output Format

Twój program powinien wypisać dwie liczby całkowite $a$ i $b$ opisujące wymiary matrycy, która może posłużyć do wykonania karty opisanej w wejściu. Iloczyn tych dwóch liczb powinien być jak największy. Jeśli istnieje wiele poprawnych odpowiedzi, Twój program powinien wypisać tę o jak najmniejszej wartości $a$.

Examples

Input

4 5
_XXX_
XXXX_
XXXXX
_XXXX

Output

2 3