#include <iostream>
#include<sstream>
#include<cstdio>
using namespace std;
void PrintGardenLayout() {
int n,m;
scanf("%d,%d", &n,&m);
cout<<n<<m<<endl;
if(n==0 || m==0)
return;
char textLayout[n][m];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
textLayout[i][j] = 'B';
}
}
std::string line;
for(; std::getline(std::cin, line);)
{
std::cout<<line<<endl;
std::istringstream stream(line);
string token;
int tokenCnt=0;
char charToPut='B';
int x = 0;
int y = 0;
while(std::getline(stream, token, ','))
{
if(tokenCnt==0)
{
charToPut = (token == "F" ? 'F' : 'W');
}
else if(tokenCnt==1)
{
x = stoi(token);
}
else if(tokenCnt == 2)
{
y = stoi(token);
}
tokenCnt++;
}
textLayout[x][y] = charToPut;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<textLayout[i][j]<<" ";
}
cout<<endl;
}
}
int main() {
// your code goes here
PrintGardenLayout();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxzc3RyZWFtPgojaW5jbHVkZTxjc3RkaW8+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIFByaW50R2FyZGVuTGF5b3V0KCkgewoKICAgIGludCBuLG07CiAgICBzY2FuZigiJWQsJWQiLCAmbiwmbSk7CgoJY291dDw8bjw8bTw8ZW5kbDsKICAgIGlmKG49PTAgfHwgbT09MCkKICAgICAgICByZXR1cm47CgogICAgY2hhciB0ZXh0TGF5b3V0W25dW21dOwoKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqPTA7ajxtO2orKykKICAgICAgICB7CiAgICAgICAgICAgIHRleHRMYXlvdXRbaV1bal0gPSAnQic7CiAgICAgICAgfQogICAgfQoKc3RkOjpzdHJpbmcgbGluZTsKICAgIGZvcig7IHN0ZDo6Z2V0bGluZShzdGQ6OmNpbiwgbGluZSk7KQogICAgewogICAgCXN0ZDo6Y291dDw8bGluZTw8ZW5kbDsKICAgICAgICBzdGQ6OmlzdHJpbmdzdHJlYW0gc3RyZWFtKGxpbmUpOwoKICAgICAgICBzdHJpbmcgdG9rZW47CiAgICAgICAgaW50IHRva2VuQ250PTA7CiAgICAgICAgY2hhciBjaGFyVG9QdXQ9J0InOwogICAgICAgIGludCB4ID0gMDsKICAgICAgICBpbnQgeSA9IDA7CiAgICAgICAgd2hpbGUoc3RkOjpnZXRsaW5lKHN0cmVhbSwgdG9rZW4sICcsJykpCiAgICAgICAgewogICAgICAgICAgICBpZih0b2tlbkNudD09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY2hhclRvUHV0ID0gKHRva2VuID09ICJGIiA/ICdGJyA6ICdXJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZih0b2tlbkNudD09MSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgeCA9IHN0b2kodG9rZW4pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYodG9rZW5DbnQgPT0gMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgeSA9IHN0b2kodG9rZW4pOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0b2tlbkNudCsrOwogICAgICAgIH0KCiAgICAgICAgdGV4dExheW91dFt4XVt5XSA9IGNoYXJUb1B1dDsKICAgIH0KCiAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgewogICAgICAgIGZvcihpbnQgaj0wO2o8bTtqKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDx0ZXh0TGF5b3V0W2ldW2pdPDwiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGVuZGw7CiAgICB9Cgp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQoJUHJpbnRHYXJkZW5MYXlvdXQoKTsKCXJldHVybiAwOwp9