#include<bits/stdc++.h>
using namespace std;
struct tri{
double x,y,m;
} a[2009];
int n;
double ans;
double area(double d){
return d * d / 2.0;
}
bool cmp(tri t1,tri t2){
if(t1.x != t2.x)
return t1.x < t2.x;
return t1.y < t2.y;
}
double check(int i, int j){
double x1 = a[i].x,x2 = a[j].x,y1 = a[i].y,y2 = a[j].y,m1 = a[i].m,m2 = a[j].m;
if(x2 + y2 >= x1 + y1 + m1)
return 0;
if(x2 + m2 < x1 + m1)
return area(m2);
return area(x1 + m1 - y2 + y1 - x2);
}
int main(){
scanf("%d", &n);
for(int i = 1;i <= n;i++){
scanf("%lf%lf%lf", &a[i].x, &a[i].y, &a[i].m);
ans += area(a[i].m);
}
sort(a + 1,a + n + 1,cmp);
for(int i = 1;i < n;i++){
for(int j = i + 1;j <= n;j++){
ans -= check(i,j);
}
}
printf("%.1lf",ans);
return 0;
}