만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

전설의 경단 제조사 1

시간 제한1초메모리 제한512 MB

요약
격자에 놓인 분홍, 흰색, 초록 경단으로 각 경단을 한 번만 사용해 분홍-흰색-초록 또는 초록-흰색-분홍 순서의 꼬치를 최대한 많이 만듭니다.
난이도

보통10점 중 6점

유형
행렬, 그래프, 구현
정답자
아직 제출이 없습니다

문제

당신은 맛있는 떡경단, 즉 당고를 만드는 전문가입니다. 지금 당고를 꼬치에 꽂고 있습니다.

당고는 R행 C열의 직사각형 격자 칸마다 하나씩 놓여 있습니다. 당고의 색은 분홍(P), 흰색(W), 초록(G) 중 하나입니다. 세로 방향(위에서 아래), 가로 방향(왼쪽에서 오른쪽), 대각선 방향(왼쪽 위에서 오른쪽 아래, 또는 오른쪽 위에서 왼쪽 아래) 중 하나로 연속한 당고 세 개를 고릅니다. 그다음 이 칸들에서 양 끝부터 차례로 당고 세 개를 집어 한 꼬치에 순서대로 꽂아 당고 꼬치를 만듭니다. 예를 들어 세로로 연속한 세 칸을 골랐다면 위, 가운데, 아래 순서 또는 아래, 가운데, 위 순서로 당고를 집어 꼬치에 꽂을 수 있습니다. 가운데, 아래, 위 순서나 아래, 위, 가운데 순서로는 집을 수 없습니다. 당고 하나를 두 개 이상의 꼬치에 꽂을 수는 없습니다.

당고 꼬치에 꽂힌 당고의 색이 순서대로 분홍-흰색-초록이거나 초록-흰색-분홍이면 아름다운 당고 꼬치입니다. 아름다운 당고 꼬치를 최대한 많이 만들려고 합니다.

아름다운 당고 꼬치를 몇 개까지 만들 수 있습니까?

입력

이 문제의 입력 데이터는 하나입니다.

입력은 다음 형식으로 주어집니다.

R C
D1
.
.
.
DR

각 Di (1 ≤ i ≤ R)는 P, W, G로만 이루어진 길이 C의 문자열입니다. Di의 j번째 문자는 위에서 i번째 행, 왼쪽에서 j번째 열 칸에 있는 당고의 색입니다.

출력

다음 형식으로 출력합니다.

S1
.
.
.
SR

각 Si (1 ≤ i ≤ R)는 P, W, G, |, -, , /로 이루어진 길이 C의 문자열입니다. Si의 j번째 문자는 위에서 i번째 행, 왼쪽에서 j번째 열 칸의 당고를 어떻게 사용할지 나타냅니다.

  • 해당 칸, 바로 위 인접 칸, 바로 아래 인접 칸의 당고로 아름다운 당고 꼬치를 만들면 |를 씁니다.
  • 해당 칸, 왼쪽 인접 칸, 오른쪽 인접 칸의 당고로 아름다운 당고 꼬치를 만들면 -를 씁니다.
  • 해당 칸, 왼쪽 위 인접 칸, 오른쪽 아래 인접 칸의 당고로 아름다운 당고 꼬치를 만들면 \를 씁니다.
  • 해당 칸, 오른쪽 위 인접 칸, 왼쪽 아래 인접 칸의 당고로 아름다운 당고 꼬치를 만들면 /를 씁니다.
  • 그 밖의 경우에는 Di의 j번째 문자와 같은 P, W, G 중 하나를 씁니다. 해당 칸 당고의 색이 그대로 출력됩니다.

제한

3 ≤ R ≤ 500. 3 ≤ C ≤ 500. Di (1 ≤ i ≤ R)는 P, W, G로만 이루어진 길이 C의 문자열입니다.

예제2

  1. 예제 1

    입력
    3 4
    PWGP
    WGPW
    GWPG
    
    예상 출력
    P-GP
    WGP|
    G-PG
    
  2. 예제 2

    입력
    3 4
    PWWP
    WWWW
    PGGP
    
    예상 출력
    PWWP
    W\/W
    PGGP