/*
1. a??¨1???int?????§???1/a=0.001?????????0???????????????????????????????????????1??§?????????
2. (1/a+1)?????¨?????????????????°??????2?????°???2?????????????????°??????????????£?????????????????§1.001????????????????????¨????§????(1/a+1-1)??¨a???2?????°??§?????????????????????????????°??§???????????£????????????????????¨????????????????????????????????????????°????????????????????????????1??§????????????
3.????°???°????¨????????????????2?????°???????????????????¨???????????????§??????????¨?????????????????????????????????§???????????????
4.
5.
*/
#include <iostream>
 #include <complex>
 #include <stdio.h>
 #include<cmath>
 using namespace std;
 typedef complex<double>xy_t;
 xy_t P[110];

 double dot_product(xy_t a, xy_t b) //??????
 { return (conj(a) * b).real(); }

 double cross_product(xy_t a, xy_t b) //??????
 { return (conj(a) * b).imag(); }

 xy_t projection(xy_t p, xy_t b) //????????¨ p ????????¶??´?????? b ????°???±
 { return b * dot_product(p,b)/norm(b); }



int main(){
    int n=0;
    double x,y,sum=0.0;
    while(scanf("%lf,%lf",&x,&y)!=EOF)
        {
            P[n++]=xy_t(x,y);
        }
    for(int i=0;i+2<n;i++)
        {
            xy_t a=P[0],b=P[i+1],c=P[i+2];
            sum+=cross_product(b-a,c-a);
        }
        cout<<sum/2<<endl;
 }