Problem: Write a program that reads the coordinates of the vertices of a convex n-sided polygon (a polygon whose internal angles are less than 180 degrees, that is, a polygon that is not dented) and outputs its area. The vertices are named Vertex 1, Vertex 2, Vertex 3, ... Vertex n according to the order of edge connections.

However, n is 3 or more and 20 or less. You can also use the following formula to find the area S from the lengths a, b, and c of the three sides of the triangle.

<image>



input

The input is given in the following format:


x1, y1
x2, y2
::
xn, yn


xi and yi are real numbers that represent the x and y coordinates of vertex i, respectively.

output

Outputs the area S (real number) on one line. The output can contain an error of 0.000001 or less.

Example

Input

0.0,0.0
0.0,1.0
1.0,1.0
2.0,0.0
1.0,-1.0


Output

2.500000

Solution (in JAVA):

Solution:
 import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.*;

import static java.lang.Math.*;
//Area of Polygon
public class Main{
	static PrintWriter out = new PrintWriter(System.out);
	static double[][] ple = new double[20][2];
    static int count = 0;
    public static void main(String[] args) {       
        input();
        output();
        out.flush();
       
      
    }
    static void input(){
    	Scanner sc = new Scanner(System.in);
    	for(int i = 0;sc.hasNext();i++){
            String s[] = sc.next().split(",");
            ple[i][0]=Double.parseDouble(s[0]);
            ple[i][1]=Double.parseDouble(s[1]);
            
            count = i+1;
        }
    	
    }
    static void output(){
    	
    	 double a = 0;
         for(int i=0;i<count;i++){
             double x1 = ple[i][0];
             double y1 = ple[i][1];
             double x2 = ple[(i+1)%count][0];
             double y2 = ple[(i+1)%count][1];
             a += x1*y2;
             a -=x2*y1;
         }
         double temp = abs(abs(a/2));
         out.println(new DecimalFormat("#0.000000").format(temp));
    }
}