직사각형 격자의 각 칸을 슬래시(/) 또는 백슬래시(\)로 채우면 작은 미로를 만들 수 있습니다. 각 칸에는 슬래시나 백슬래시가 정확히 하나 들어 있으며, 이 선은 칸을 두 개의 삼각형으로 나누는 벽 역할을 합니다.
이런 미로에서 길은 절대 갈라지지 않으므로, 미로는 닫힌 고리(사이클)와 한 변에서 들어와 다른 변으로 빠져나가는 열린 길로만 이루어집니다. 여기서는 닫힌 고리에만 관심이 있습니다.
당신이 할 일은 사이클의 개수를 세고 가장 긴 사이클의 길이를 구하는 것입니다. 사이클의 길이는 그 사이클을 이루는 작은 삼각형 조각의 개수로 정의하며, 각 칸은 그 안의 사선에 의해 두 개의 삼각형으로 나뉩니다. 예를 들어 첫 번째 예제 미로에는 사이클이 두 개 있는데, 긴 것의 길이는 16이고 짧은 것의 길이는 4입니다.
입력은 여러 개의 미로 설명으로 이루어집니다. 각 설명은 두 정수 $w$와 $h$ ($1 \le w, h \le 75$)가 있는 줄로 시작하며, 각각 미로의 너비와 높이를 나타냅니다. 이어지는 $h$개의 줄이 미로를 나타내고 각 줄은 정확히 $w$개의 문자로 이루어지며, 모든 문자는 / 또는 \입니다.
입력의 끝은 $w = h = 0$인 줄로 표시되며, 이 마지막 경우는 처리하지 않습니다.
각 미로에 대해 먼저 Maze #n: 줄을 출력합니다. 여기서 $n$은 미로의 번호입니다(1부터 시작). 그다음 k Cycles; the longest has length l. 줄을 출력합니다. 여기서 $k$는 사이클의 개수, $l$은 가장 긴 사이클의 길이입니다. 미로에 사이클이 하나도 없으면 대신 There are no cycles.를 출력합니다. 연속한 미로의 출력 사이에는 빈 줄 하나를 넣어 구분합니다.