#include<iostream>
#include<complex>
#include<cmath>
#include <cstdio>

using namespace std;

typedef complex<double> xy_t;
xy_t P[110];

// 図(1) 内積: a.x*b.x +a.y*b.y (jajjbj cos  に一致)
double dot_product(xy_t a, xy_t b) { return (conj(a)*b).real(); }
// 図(2) クロス(外) 積: a.x*b.y - b.x*a.y
// ベクトルa,b が作る三角形の符号付き面積の二倍
double cross_product(xy_t a, xy_t b) { return (conj(a)*b).imag(); }
// (図なし) 射影: 原点とp を結ぶ直線にb を射影
xy_t projection(xy_t p, xy_t b) { return b*dot_product(p,b)/norm(b); }

int main(){
	int N = 0;
	double x, y;
	while (scanf("%lf,%lf", &x, &y) != EOF){
		P[N++] = xy_t(x,y);
		//cout << x <<" "<< y << endl;
	}

	//for(int i = 0; i < 22; ++i){
	//	cin >> x >> y;
	//	P[N++] = xy_t(x,y);
	//}
	//面積計算
	double S = 0.0;
	for (int i=0; i+2<N; ++i){
		xy_t a=P[0], b=P[i+1], c=P[i+2];
		S += cross_product(b - a, c - a) / 2.0000000;
	}
	printf("%.6f\n", abs(S));
}
