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.util.Scanner;


public class Main {

	Scanner sc;
	
	double solve(double[][] point,int n){
		double[][] v=new double[n-1][2];
		for(int i=0;i<n-1;++i){
			for(int j=0;j<2;++j){
				v[i][j]=point[i+1][j]-point[0][j];
			}
		}
		double s=0;
		for(int i=0;i<n-2;++i){
			s+=Math.abs((v[i][0]*v[i+1][1]-v[i][1]*v[i+1][0]))/2;
		}
		return s;
	}
	
	double nd(){
		return sc.nextDouble();
	}
	
	void io(){
		double[][] point=new double[20][2];
		int n;
		sc=new Scanner(System.in).useDelimiter("\\s*,\\s*|\r\n|\n");
		for(n=0;n<20&&sc.hasNext();++n){
			for(int i=0;i<2;++i){
				point[n][i]=nd();
			}
		}
		System.out.println(solve(point,n));
	}
	
	public static void main(String[] args) {
		new Main().io();
	}
}