Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

MALINES - Złośliwe linie

Dzisiaj w szkole spotkała Jasia duża przykrość. Pani wyświetliła na rzutniku dwie linie proste (przykład 2) i zapytała dzieci, która z nich jest dłuższa. Jasio, jako klasowy prymus, od razu wyrwał się do odpowiedzi (nie poproszony) i oznajmił z dużą pewnością siebie, wysoce lekceważącym tonem, że oczywiście dłuższa jest linia z dwoma wypustkami. Pani zażartowała, że od tego programowania musiał się Jasiowi pogorszyć wzrok, bo obie linie są równej długości i opowiedziała dzieciom o tym złudzeniu optycznym. Jasio usiadł jak niepyszny. Postanowił, że taka sytuacja już nigdy nie może mieć miejsca. W tym celu zaplanował aplikację na Bit-Glass, która na podstawie otrzymanego obrazu obliczy rozmiary wszystkich linii prostych, jakie na nim występują. Niestety, wciąż jest zbyt roztrzęsiony wydarzeniem ze szkoły, by zrobić to w całości samodzielnie i poprosił o Twoją pomoc. W wersji prealpha należy uwzględnić następujące znaki:

Linie:
| - linia pionowa;
- - linia pozioma;
/ - linia lewo-skośna;
\ - linia prawo-skośna.

Złożenia:
+ - połączenie linii poziomej i pionowej;
x - połączanie linii ukośnych;
* - połączenie wszystkich czterech linii;
<, > - połówki iksa.

Przykłady połączeń:
\./.....|......./...\........\|/....
.x.....-+-.....<.....>.......-*-....
/.\.....|.......\.../......../|\....

Przykłady braku połączeń:
..................<........|.....+..
...<......|......*........-x-...+...
../......./................|.....*..


Dla uproszczenia zakładamy, że linie poziome i pionowe mają długość 10 jednostek, zaś ukośne 14 jednostek.

Wejście

W pierwszym wierszu dwie liczby n i m oznaczające kolejno ilość wierszy i kolumn macierzy znaków, która pojawi się w kolejnych wierszach.

0 < n*m < 10^6

Wyjście

Lista linii posortowana według rosnącej długości. Każdy wiersz tej listy ma postać: "d: k", gdzie d jest długością, a k liczebnością linii o danej długości w macierzy. Jeśli nie było ani jednej linii należy wypisać "0".

Przykład 1

Wejście:
5 10
\./.......
.x........
/.\...|...
...*--+...
......|...
Wyjście: 10: 1
14: 1
30: 1
40: 1
42: 1
56: 1

Przykład 2

Wejście:
15 40
........................................
....../.......................\.........
...../.........................\........
....<--------------------------->.......
.....\........................./........
......\......................./.........
........................................
........................................
........................................
..\.............................../.....
...\............................./......
....>---------------------------<.......
.../.............................\......
../...............................\.....
........................................
Wyjście: 35: 8
270: 2

Dodane przez:M. N.
Data dodania:2015-01-05
Limit czasu wykonania programu:1s-2s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU JS-MONKEY
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.