#include <bits/stdc++.h>

using namespace std;

const double EPS = 1e-8;
const double INF = 1e12;
typedef complex<double> P;
namespace std {
    bool operator < (const P& a, const P& b) {
        return real(a) != real(b) ? real(a) < real(b) : imag(a) < imag(b);
    }
}
double cross(const P& a, const P& b) {
    return imag(conj(a)*b);
}
double dot(const P& a, const P& b) {
    return real(conj(a)*b);
}

typedef vector<P> G;

double area2(const G& P) {
    double A = 0;
    for (int i = 0; i < P.size(); ++i)
        A += cross(P[i], P[(i+1)%P.size()]);
    return A;
}

int main(){
    double x, y;
    G g;
    while(scanf("%lf,%lf", &x, &y) != EOF){P p(y, x); g.push_back(p);}
    printf("%lf\n", abs(area2(g)/2.));
}