#include<cmath>
#include<algorithm>
#include<iostream>
#include<vector>
#include<cstdio>

using namespace std;

double EPS = 1e-10;
const double PI = acos(-1);

double add(double a, double b){
if(abs(a+b) < EPS * (abs(a)+abs(b)))return 0;
return a+b;
}

struct point{
double x, y;
point(){}
point(double x,double y) : x(x) , y(y){}

point operator + (point p){
return point(add(x,p.x), add(y,p.y));
}

point operator - (point p){
return point(add(x,-p.x), add(y,-p.y));
}

point operator * (double d){
return point(x*d,y*d);
}

point operator / (double d){
return point(x/d,y/d);
}

bool operator == ( const point &p ) const {
return fabs(x-p.x) < EPS && fabs(y-p.y) < EPS;
}
};

double areaPol(vector<point> t){
t.push_back(t[0]);
int tsz=t.size();
double area=0;
for(int i=0;i<tsz-1;i++){
area+=(t[i].x-t[i+1].x)*(t[i].y+t[i+1].y);
}
return abs(area)/2.0;
}

int main(void){
point p;
vector<point>t;
double x,y;
char k;

while(cin>>x>>k>>y){
p.x = x;
p.y = y;
t.push_back(p);
}

printf("%.6f\n",areaPol(t));

return 0;
}