#include <bits/stdc++.h>
using namespace std;
static unsigned char A[151][151][151];
static unsigned char D[151][152][152];
static unsigned char G[152];
static unsigned char T[152];
static int Ls[152], Rs[152], st[152];
inline unsigned char get(int o,int i,int j,int k){
if(o==0) return A[i][j][k];
if(o==1) return A[k][i][j];
return A[j][k][i];
}
inline void go(int X,int Y,int Z,int o,long long &ans){
for(int k=1;k<=Z;++k){
for(int j=1;j<=Y+1;++j) D[k][X+1][j]=0;
for(int i=1;i<=X+1;++i) D[k][i][Y+1]=0;
for(int i=X;i>=1;--i)
for(int j=Y;j>=1;--j){
unsigned char b=get(o,i,j,k);
unsigned char a=min(D[k][i+1][j],min(D[k][i][j+1],D[k][i+1][j+1]));
D[k][i][j]= b? (unsigned char)(a+1) : 0;
}
}
memset(G,0,(Z+1)*sizeof(G[0]));
for(int i=1;i<=X;++i) for(int j=1;j<=Y;++j){
for(int k=1;k<=Z;++k) T[k]=D[k][i][j];
int tp=0;
for(int k=1;k<=Z;++k){
while(tp && T[st[tp]]>=T[k]) --tp;
Ls[k]= tp? st[tp]:0;
st[++tp]=k;
}
tp=0;
for(int k=Z;k>=1;--k){
while(tp && T[st[tp]]>T[k]) --tp;
Rs[k]= tp? st[tp]:Z+1;
st[++tp]=k;
}
for(int k=1;k<=Z;++k){
int len=Rs[k]-Ls[k]-1;
unsigned char v=T[k];
if(v>G[len]) G[len]=v;
}
}
for(int len=Z-1;len>=1;--len) if(G[len+1]>G[len]) G[len]=G[len+1];
for(int len=1;len<=Z;++len){
long long cur=1LL*len*G[len]*4;
if(cur>ans) ans=cur;
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
if(fopen("gift.inp","r")){
freopen("gift.inp","r",stdin);
freopen("gift.out","w",stdout);
}
int p,q,r;
if(!(cin>>p>>q>>r)) return 0;
for(int y=1;y<=q;++y)
for(int x=1;x<=p;++x){
string s; cin>>s;
for(int z=1;z<=r;++z) A[x][y][z]=(s[z-1]=='N');
}
long long ans=0;
go(p,q,r,0,ans);
go(q,r,p,1,ans);
go(r,p,q,2,ans);
cout<<ans<<"\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdGF0aWMgdW5zaWduZWQgY2hhciBBWzE1MV1bMTUxXVsxNTFdOwpzdGF0aWMgdW5zaWduZWQgY2hhciBEWzE1MV1bMTUyXVsxNTJdOwpzdGF0aWMgdW5zaWduZWQgY2hhciBHWzE1Ml07CnN0YXRpYyB1bnNpZ25lZCBjaGFyIFRbMTUyXTsKc3RhdGljIGludCBMc1sxNTJdLCBSc1sxNTJdLCBzdFsxNTJdOwoKaW5saW5lIHVuc2lnbmVkIGNoYXIgZ2V0KGludCBvLGludCBpLGludCBqLGludCBrKXsKICAgIGlmKG89PTApIHJldHVybiBBW2ldW2pdW2tdOwogICAgaWYobz09MSkgcmV0dXJuIEFba11baV1bal07CiAgICByZXR1cm4gQVtqXVtrXVtpXTsKfQoKaW5saW5lIHZvaWQgZ28oaW50IFgsaW50IFksaW50IFosaW50IG8sbG9uZyBsb25nICZhbnMpewogICAgZm9yKGludCBrPTE7azw9WjsrK2spewogICAgICAgIGZvcihpbnQgaj0xO2o8PVkrMTsrK2opIERba11bWCsxXVtqXT0wOwogICAgICAgIGZvcihpbnQgaT0xO2k8PVgrMTsrK2kpIERba11baV1bWSsxXT0wOwogICAgICAgIGZvcihpbnQgaT1YO2k+PTE7LS1pKQogICAgICAgICAgICBmb3IoaW50IGo9WTtqPj0xOy0tail7CiAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGI9Z2V0KG8saSxqLGspOwogICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBhPW1pbihEW2tdW2krMV1bal0sbWluKERba11baV1baisxXSxEW2tdW2krMV1baisxXSkpOwogICAgICAgICAgICAgICAgRFtrXVtpXVtqXT0gYj8gKHVuc2lnbmVkIGNoYXIpKGErMSkgOiAwOwogICAgICAgICAgICB9CiAgICB9CiAgICBtZW1zZXQoRywwLChaKzEpKnNpemVvZihHWzBdKSk7CiAgICBmb3IoaW50IGk9MTtpPD1YOysraSkgZm9yKGludCBqPTE7ajw9WTsrK2opewogICAgICAgIGZvcihpbnQgaz0xO2s8PVo7KytrKSBUW2tdPURba11baV1bal07CgogICAgICAgIGludCB0cD0wOwogICAgICAgIGZvcihpbnQgaz0xO2s8PVo7KytrKXsKICAgICAgICAgICAgd2hpbGUodHAgJiYgVFtzdFt0cF1dPj1UW2tdKSAtLXRwOwogICAgICAgICAgICBMc1trXT0gdHA/IHN0W3RwXTowOwogICAgICAgICAgICBzdFsrK3RwXT1rOwogICAgICAgIH0KICAgICAgICB0cD0wOwogICAgICAgIGZvcihpbnQgaz1aO2s+PTE7LS1rKXsKICAgICAgICAgICAgd2hpbGUodHAgJiYgVFtzdFt0cF1dPlRba10pIC0tdHA7CiAgICAgICAgICAgIFJzW2tdPSB0cD8gc3RbdHBdOlorMTsKICAgICAgICAgICAgc3RbKyt0cF09azsKICAgICAgICB9CiAgICAgICAgZm9yKGludCBrPTE7azw9WjsrK2spewogICAgICAgICAgICBpbnQgbGVuPVJzW2tdLUxzW2tdLTE7CiAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgdj1UW2tdOwogICAgICAgICAgICBpZih2PkdbbGVuXSkgR1tsZW5dPXY7CiAgICAgICAgfQogICAgfQogICAgZm9yKGludCBsZW49Wi0xO2xlbj49MTstLWxlbikgaWYoR1tsZW4rMV0+R1tsZW5dKSBHW2xlbl09R1tsZW4rMV07CiAgICBmb3IoaW50IGxlbj0xO2xlbjw9WjsrK2xlbil7CiAgICAgICAgbG9uZyBsb25nIGN1cj0xTEwqbGVuKkdbbGVuXSo0OwogICAgICAgIGlmKGN1cj5hbnMpIGFucz1jdXI7CiAgICB9Cn0KCmludCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgaWYoZm9wZW4oImdpZnQuaW5wIiwiciIpKXsKICAgICAgICBmcmVvcGVuKCJnaWZ0LmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJnaWZ0Lm91dCIsInciLHN0ZG91dCk7CiAgICB9CiAgICBpbnQgcCxxLHI7IAogICAgaWYoIShjaW4+PnA+PnE+PnIpKSByZXR1cm4gMDsKICAgIGZvcihpbnQgeT0xO3k8PXE7Kyt5KQogICAgICAgIGZvcihpbnQgeD0xO3g8PXA7Kyt4KXsKICAgICAgICAgICAgc3RyaW5nIHM7IGNpbj4+czsKICAgICAgICAgICAgZm9yKGludCB6PTE7ejw9cjsrK3opIEFbeF1beV1bel09KHNbei0xXT09J04nKTsKICAgICAgICB9CiAgICBsb25nIGxvbmcgYW5zPTA7CiAgICBnbyhwLHEsciwwLGFucyk7CiAgICBnbyhxLHIscCwxLGFucyk7CiAgICBnbyhyLHAscSwyLGFucyk7CiAgICBjb3V0PDxhbnM8PCJcbiI7CiAgICByZXR1cm4gMDsKfQo=