#include <iostream>
#include <cstdio>
#include <complex>
#include <vector>
#include <cmath>
#define MAX_N 15
using namespace std;

typedef complex<double> P;
vector<P> vec;
double ans = 0.0;
int n;

//座標a, bのキョリを求める
double distance(int a, int b) {
    double diffx = vec[a].real() - vec[b].real(),
           diffy = vec[a].imag() - vec[b].imag();
    return(sqrt(diffx*diffx + diffy*diffy));
}

//座標a, b, cの三角形の面積を求める
double calcArea(int a, int b, int c) {
    double ab = distance(a, b), bc = distance(b, c), ca = distance(c, a);
    double z = (ab + bc + ca) / 2.0;
    return(sqrt(z*(z-ab)*(z-bc)*(z-ca)));
}

void output() {
    printf("%.6f\n", ans);
}


void solve() {
    //最初の３点の面積
    for(int r = 1; r + 1 < n; r++) {
        ans += calcArea(0, r, r + 1);
    }
    output();
}

int main(void) {
    double x, y;
    while(scanf("%lf,%lf", &x,&y) != EOF) {
        vec.push_back(P(x, y));
        n++;
    }
    solve();
    return(0);
}