시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB39622319155.202%

문제

NM열 격자판의 각 격자가 흰색 또는 검은색으로 칠해져 있다. 각 칸에 대해 다음의 3가지 중 1가지 행동을 취할 수 있다.

  1. 아무 변화도 주지 않는다.
  2. 선택한 칸과 인접한 모든 칸의 색을 반전시킨다. 단, 선택한 칸은 반전시키지 않는다.
  3. 선택한 칸 및 그 칸과 인접한 모든 칸의 색을 반전시킨다.

당신은 모든 칸을 흰색으로 만들고자 한다. 모든 칸을 흰색으로 만드는 방법을 구하여라.

입력

첫 줄에 NM이 주어진다. (1 ≤ N, M ≤ 2,000)

다음 줄부터 N개의 줄에 걸쳐 각 행의 상태를 나타내는 길이 M의 문자열이 주어진다. 모든 문자열은 'B''W'로 이루어져 있다. i 번째 줄, j 번째 문자가 'B'일 경우 해당 칸이 검은색이며 'W'일 경우 해당 칸이 흰색임을 의미한다.

출력

만약 모든 칸을 흰색으로 만드는 것이 불가능하다면 첫 줄에 -1을 출력한다.

가능하다면 첫 줄에 1을 출력하고, 다음 줄부터 N개의 줄에 걸쳐 M개의 수를 공백 없이 출력한다.

i 번째 줄의 j 번째 수는 i 번째 줄, j 번째 칸에 취한 행동을 나타낸다. 1은 아무런 변화를 주지 않은 것, 2는 인접한 모든 칸을 반전시킨 것, 3은 그 칸 및 인접한 모든 칸을 반전시킨 것을 의미한다.

만약 가능한 답이 여럿이라면 그 중 아무것이나 출력한다.

예제 입력 1

2 3
WBW
BWB

예제 출력 1

1
111
121

예제 입력 2

1 1
B

예제 출력 2

1
3

예제 입력 3

1 3
BWB

예제 출력 3

1
222

세 번째 예제 출력에서, 왼쪽에서 두 번째 칸은 두 번 반전되어 다시 흰색이 된다.

W3sicHJvYmxlbV9pZCI6IjE3MzAyIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkNzcwXHVjMGM5XHVjNzNjXHViODVjIFx1YjljY1x1YjRlNFx1YWUzMCIsImRlc2NyaXB0aW9uIjoiPHA+PGVtPk48XC9lbT5cdWQ1ODkgPGVtPk08XC9lbT5cdWM1ZjQgXHVhY2E5XHVjNzkwXHVkMzEwXHVjNzU4IFx1YWMwMSBcdWFjYTlcdWM3OTBcdWFjMDAgXHVkNzcwXHVjMGM5IFx1YjYxMFx1YjI5NCBcdWFjODBcdWM3NDBcdWMwYzlcdWM3M2NcdWI4NWMgXHVjZTYwXHVkNTc0XHVjODM4IFx1Yzc4OFx1YjJlNC4gXHVhYzAxIFx1Y2U3OFx1YzVkMCBcdWIzMDBcdWQ1NzQgXHViMmU0XHVjNzRjXHVjNzU4IDNcdWFjMDBcdWM5YzAgXHVjOTExIDFcdWFjMDBcdWM5YzAgXHVkNTg5XHViM2Q5XHVjNzQ0IFx1Y2RlOFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlx1YzU0NFx1YmIzNCBcdWJjYzBcdWQ2NTRcdWIzYzQgXHVjOGZjXHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjMTIwXHVkMGRkXHVkNTVjIFx1Y2U3OFx1YWNmYyBcdWM3NzhcdWM4MTFcdWQ1NWMgXHViYWE4XHViNGUwIFx1Y2U3OFx1Yzc1OCBcdWMwYzlcdWM3NDQgXHViYzE4XHVjODA0XHVjMmRjXHVkMGE4XHViMmU0LiBcdWIyZTgsIFx1YzEyMFx1ZDBkZFx1ZDU1YyBcdWNlNzhcdWM3NDAgXHViYzE4XHVjODA0XHVjMmRjXHVkMGE0XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjMTIwXHVkMGRkXHVkNTVjIFx1Y2U3OCBcdWJjMGYgXHVhZGY4IFx1Y2U3OFx1YWNmYyBcdWM3NzhcdWM4MTFcdWQ1NWMgXHViYWE4XHViNGUwIFx1Y2U3OFx1Yzc1OCBcdWMwYzlcdWM3NDQgXHViYzE4XHVjODA0XHVjMmRjXHVkMGE4XHViMmU0LjxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlx1YjJmOVx1YzJlMFx1Yzc0MCBcdWJhYThcdWI0ZTAgXHVjZTc4XHVjNzQ0IFx1ZDc3MFx1YzBjOVx1YzczY1x1Yjg1YyBcdWI5Y2NcdWI0ZTRcdWFjZTBcdWM3OTAgXHVkNTVjXHViMmU0LiBcdWJhYThcdWI0ZTAgXHVjZTc4XHVjNzQ0IFx1ZDc3MFx1YzBjOVx1YzczY1x1Yjg1YyBcdWI5Y2NcdWI0ZGNcdWIyOTQgXHViYzI5XHViYzk1XHVjNzQ0IFx1YWQ2Y1x1ZDU1OFx1YzVlY1x1Yjc3Yy48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWM5MDRcdWM1ZDAgPGVtPk48XC9lbT5cdWFjZmMgPGVtPk08XC9lbT5cdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiAoMSAmbGU7IDxlbT5OPFwvZW0+LCA8ZW0+TTxcL2VtPiAmbGU7IDIsMDAwKTxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgXHVjOTA0XHViZDgwXHVkMTMwIDxlbT5OPFwvZW0+XHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCBcdWFjNzhcdWNjZDAgXHVhYzAxIFx1ZDU4OVx1Yzc1OCBcdWMwYzFcdWQwZGNcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI0XHViMjk0IFx1YWUzOFx1Yzc3NCA8ZW0+TTxcL2VtPlx1Yzc1OCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWJhYThcdWI0ZTAgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQwIDxjb2RlPiYjMzk7QiYjMzk7PFwvY29kZT5cdWM2NDAgPGNvZGU+JiMzOTtXJiMzOTs8XC9jb2RlPlx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LiA8ZW0+aTxcL2VtPiBcdWJjODhcdWM5ZjggXHVjOTA0LCA8ZW0+ajxcL2VtPiBcdWJjODhcdWM5ZjggXHViYjM4XHVjNzkwXHVhYzAwIDxjb2RlPiYjMzk7QiYjMzk7PFwvY29kZT5cdWM3N2MgXHVhY2JkXHVjNmIwIFx1ZDU3NFx1YjJmOSBcdWNlNzhcdWM3NzQgXHVhYzgwXHVjNzQwXHVjMGM5XHVjNzc0XHViYTcwIDxjb2RlPiYjMzk7VyYjMzk7PFwvY29kZT5cdWM3N2MgXHVhY2JkXHVjNmIwIFx1ZDU3NFx1YjJmOSBcdWNlNzhcdWM3NzQgXHVkNzcwXHVjMGM5XHVjNzg0XHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWI5Y2NcdWM1N2QgXHViYWE4XHViNGUwIFx1Y2U3OFx1Yzc0NCBcdWQ3NzBcdWMwYzlcdWM3M2NcdWI4NWMgXHViOWNjXHViNGRjXHViMjk0IFx1YWM4M1x1Yzc3NCBcdWJkODhcdWFjMDBcdWIyYTVcdWQ1NThcdWIyZTRcdWJhNzQgXHVjY2FiIFx1YzkwNFx1YzVkMCA8Y29kZT4tMTxcL2NvZGU+XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAwXHViMmE1XHVkNTU4XHViMmU0XHViYTc0IFx1Y2NhYiBcdWM5MDRcdWM1ZDAgPGNvZGU+MTxcL2NvZGU+XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YWNlMCwgXHViMmU0XHVjNzRjIFx1YzkwNFx1YmQ4MFx1ZDEzMCA8ZW0+TjxcL2VtPlx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVhYzc4XHVjY2QwIDxlbT5NPFwvZW0+XHVhYzFjXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWFjZjVcdWJjMzEgXHVjNWM2XHVjNzc0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+PGVtPmk8XC9lbT4gXHViYzg4XHVjOWY4IFx1YzkwNFx1Yzc1OCA8ZW0+ajxcL2VtPiBcdWJjODhcdWM5ZjggXHVjMjE4XHViMjk0IDxlbT5pPFwvZW0+IFx1YmM4OFx1YzlmOCBcdWM5MDQsIDxlbT5qPFwvZW0+IFx1YmM4OFx1YzlmOCBcdWNlNzhcdWM1ZDAgXHVjZGU4XHVkNTVjIFx1ZDU4OVx1YjNkOVx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuIDxjb2RlPjE8XC9jb2RlPlx1Yzc0MCBcdWM1NDRcdWJiMzRcdWI3ZjAgXHViY2MwXHVkNjU0XHViOTdjIFx1YzhmY1x1YzljMCBcdWM1NGFcdWM3NDAgXHVhYzgzLCA8Y29kZT4yPFwvY29kZT5cdWIyOTQgXHVjNzc4XHVjODExXHVkNTVjIFx1YmFhOFx1YjRlMCBcdWNlNzhcdWM3NDQgXHViYzE4XHVjODA0XHVjMmRjXHVkMGE4IFx1YWM4MywgPGNvZGU+MzxcL2NvZGU+XHVjNzQwIFx1YWRmOCBcdWNlNzggXHViYzBmIFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWJhYThcdWI0ZTAgXHVjZTc4XHVjNzQ0IFx1YmMxOFx1YzgwNFx1YzJkY1x1ZDBhOCBcdWFjODNcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWI5Y2NcdWM1N2QgXHVhYzAwXHViMmE1XHVkNTVjIFx1YjJmNVx1Yzc3NCBcdWM1ZWNcdWI3ZmZcdWM3NzRcdWI3N2NcdWJhNzQgXHVhZGY4IFx1YzkxMSBcdWM1NDRcdWJiMzRcdWFjODNcdWM3NzRcdWIwOTggXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiIsInNhbXBsZV9leHBsYWluXzMiOiI8cD5cdWMxMzggXHViYzg4XHVjOWY4IFx1YzYwOFx1YzgxYyBcdWNkOWNcdWI4MjVcdWM1ZDBcdWMxMWMsIFx1YzY3Y1x1Y2FiZFx1YzVkMFx1YzExYyBcdWI0NTAgXHViYzg4XHVjOWY4IFx1Y2U3OFx1Yzc0MCBcdWI0NTAgXHViYzg4IFx1YmMxOFx1YzgwNFx1YjQxOFx1YzViNCBcdWIyZTRcdWMyZGMgXHVkNzcwXHVjMGM5XHVjNzc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4ifSx7InByb2JsZW1faWQiOiIxNzMwMiIsInByb2JsZW1fbGFuZyI6IjEiLCJ0aXRsZSI6Ik1ha2UgRXZlcnl0aGluZyBXaGl0ZSIsImRlc2NyaXB0aW9uIjoiPHA+Q29uc2lkZXIgYSByZWN0YW5ndWxhciBncmlkIG9mIHNpemUgJE4gXFx0aW1lcyBNJC4gRWFjaCBjZWxsIGlzIGNvbG9yZWQgYmxhY2sgb3Igd2hpdGUuPFwvcD5cclxuXHJcbjxwPkZvciBlYWNoIGNlbGwsIHlvdSBoYXZlIHRvIGV4ZWN1dGUgZXhhY3RseSBvbmUgb2YgdGhlIHRocmVlIG9wZXJhdGlvbnMgZ2l2ZW4gYmVsb3cuPFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+RG8gbm90IGNoYW5nZSBhbnl0aGluZy48XC9saT5cclxuXHQ8bGk+Q2hhbmdlIHRoZSBjb2xvciBvZiBhbGwgbmVpZ2hib3IgY2VsbHMgKGJsYWNrIHRvIHdoaXRlLCB3aGl0ZSB0byBibGFjaykuPFwvbGk+XHJcblx0PGxpPkNoYW5nZSB0aGUgY29sb3Igb2YgYWxsIG5laWdoYm9yIGNlbGxzIGFuZCBpdHNlbGYuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+VHdvIGNlbGxzIGFyZSBuZWlnaGJvcnMgaWYgdGhleSBzaGFyZSBhIHNpZGUuPFwvcD5cclxuXHJcbjxwPllvdXIgZ29hbCBpcyBtYWtlIGFsbCBjZWxscyB3aGl0ZS4gRmluZCBhIHdheSB0byBhY2hpZXZlIGl0LCBvciBkZXRlcm1pbmUgdGhhdCBpdCBpcyBpbXBvc3NpYmxlLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgY29udGFpbnMgdHdvIGludGVnZXJzICROJCBhbmQgJE0kLCB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZ3JpZCAoJDEgXFxsZSBOLCBNIFxcbGUgMjAwMCQpLjxcL3A+XHJcblxyXG48cD5FYWNoIG9mIHRoZSBuZXh0ICROJCBsaW5lcyBkZXNjcmliZXMgb25lIHJvdyBvZiB0aGUgZ3JpZC4gRWFjaCBvZiB0aGVzZSBsaW5lcyBjb250YWlucyAkTSQgY2hhcmFjdGVycyBkZW5vdGluZyB0aGUgY29sb3JzIG9mIGNlbGxzIGluIHRoZSByb3cuIEVhY2ggY2hhcmFjdGVyIGlzIGVpdGhlciAmcXVvdDs8Y29kZT5CPFwvY29kZT4mcXVvdDsmIzM5OyBmb3IgYmxhY2sgb3IgJnF1b3Q7PGNvZGU+VzxcL2NvZGU+JnF1b3Q7JiMzOTsgZm9yIHdoaXRlLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlByaW50ICZxdW90Ozxjb2RlPi0xPFwvY29kZT4mcXVvdDsgb24gdGhlIGZpcnN0IGxpbmUgaWYgaXQgaXMgaW1wb3NzaWJsZSB0byBtYWtlIGFsbCBjZWxscyB3aGl0ZS48XC9wPlxyXG5cclxuPHA+T3RoZXJ3aXNlLCBwcmludCAmcXVvdDs8Y29kZT4xPFwvY29kZT4mcXVvdDsgb24gdGhlIGZpcnN0IGxpbmUsIGZvbGxvd2VkIGJ5ICROJCBtb3JlIGxpbmVzLiBFYWNoIG9mIHRoZXNlIGxpbmVzIG11c3QgY29udGFpbiAkTSQgY2hhcmFjdGVycyB3aGljaCBkZXNjcmliZSB0aGUgb3BlcmF0aW9ucyB5b3UgY2hvc2UgZm9yIHRoZSByZXNwZWN0aXZlIHJvdyBvZiB0aGUgZ3JpZC4gRWFjaCBvZiB0aGUgY2hhcmFjdGVycyBtdXN0IGJlIGVpdGhlciAmcXVvdDs8Y29kZT4xPFwvY29kZT4mcXVvdDssICZxdW90Ozxjb2RlPjI8XC9jb2RlPiZxdW90Oywgb3IgJnF1b3Q7PGNvZGU+MzxcL2NvZGU+JnF1b3Q7LCBjb3JyZXNwb25kaW5nIHRvIHRoZSB0aHJlZSBvcGVyYXRpb25zIGluIHRoZSBzdGF0ZW1lbnQuIElmIHRoZXJlIGFyZSBzZXZlcmFsIHNvbHV0aW9ucywgcHJpbnQgYW55IG9uZSBvZiB0aGVtLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=