#include<bits/stdc++.h>
using namespace std;
int n,m,k;
struct node{
int f;
bool sf;
}sr[1001][1001];
int mp[1001][1001];
int dp[1001][1001];
int zds[1001];
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char zf;
cin>>sr[i][j].f>>zf;
if(zf=='Y')sr[i][j].sf=1;
}
}
for(int i=1;i<=m;i++){
int c=1;
bool ifs=1;
for(int j=n;j>=1;j--){
if(sr[j][i].sf){
mp[i][c-1]+=sr[j][i].f;
continue;
}
mp[i][c]=mp[i][c-1]+sr[j][i].f;
c++;
}
zds[i]=c-1;
}
for(int i=1;i<=m;i++){
for(int j=0;j<=k;j++){
for(int c=0;c<=min(zds[i],j);c++){
dp[i][j]=max(dp[i][j],dp[i-1][j-c]+mp[i][c]);
}
}
}
cout<<dp[m][k]<<endl;
return 0;
}