#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mn=1e5+10;
const ll mod=1e9+7;
double x[mn],y[mn];
double eps=1e-13;
char d[mn];
int n;
double eval(long double t){
    long double x1=1e300,x2=-x1,y1=x1,y2=x2;
    for(int i=0;i<n;i++){
        if(d[i]=='U'){
            x1=min(x1,x[i]+0.L);
            x2=max(x2,x[i]+0.L);
            y1=min(y1,y[i]+t);
            y2=max(y2,y[i]+t);
        }
        else if(d[i]=='D'){
            x1=min(x1,x[i]+0.L);
            x2=max(x2,x[i]+0.L);
            y1=min(y1,y[i]-t);
            y2=max(y2,y[i]-t);
        }
        else if(d[i]=='R'){
            x1=min(x1,x[i]+t);
            x2=max(x2,x[i]+t);
            y1=min(y1,y[i]+0.L);
            y2=max(y2,y[i]+0.L);
        }
        else{
            x1=min(x1,x[i]-t);
            x2=max(x2,x[i]-t);
            y1=min(y1,y[i]+0.L);
            y2=max(y2,y[i]+0.L);
        }
    }
    return (x2-x1)*(y2-y1);
}
int main(){
    int i;
    scanf("%d",&n);
    for(i=0;i<n;i++)scanf("%lf %lf %c",x+i,y+i,d+i);
    long double l=0,r=1e9;
    for(int i=0;i<200;i++){
        long double a=(2*l+r)/3,b=(2*r+l)/3;
        if(eval(b)>eval(a))r=b;
        else l=a;
    }
    printf("%.20f",eval(l));
}
