#include <stdio.h>
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace atcoder;
using mint = modint998244353;
using namespace std;
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define Inf32 1000000001
#define Inf64 1000000000000000001

double get(int a,int b,int c,int d,int e,int f){
	int x = a-c,y = b-d,z=  e-c,w = f-d;
	double ret = 0.0;
	ret = abs(x*w - y*z);
	return ret/2.0;
}

int main(){
	
	vector<int> a(6);
	rep(i,6)cin>>a[i];
	double ans = 0.0;
	rep(i,1<<3){
		rep(j,1<<3){
			auto b = a;
			rep(k,3){
				int diff = 1;
				if((j>>k)&1)diff *= -1;
				b[k*2 + ((i>>k)&1)] += diff;
			}
			ans = max(ans,get(b[0],b[1],b[2],b[3],b[4],b[5]));
			
		}
	}
	cout<<fixed<<setprecision(10)<<ans<<endl;
	return 0;
}