<filename>Olympiad Programs/Codeforces 157B Trace.cpp<gh_stars>1-10
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <map>
#include <sstream>
#include <cmath>
#include <bitset>
#include <utility>
#include <set>
#include <numeric>
#include <cmath>

#define MAX(a,b) (((a) > (b))? (a) : (b))
#define MIN(a,b) (((a) < (b))? (a) : (b))
#define MEM(a,b) (memset((a),(b),sizeof(a)))
#define FOR(i,a,b) for(int i=a;i<b;i++)
#define pb push_back
#define mp make_pair
#define f1 first
#define f2 second
#define X first
#define Y second
#define PI 3.141592653589793

using namespace std;

typedef long long LL;
typedef pair <int, int> PII;
typedef pair <LL,LL> PLL;

const int Maxn = 1000 + 25;
const int Mod = 1000 * 1000 * 1000 + 7;

LL in[Maxn],N;
long double ans;
bool flag;

int main()
{
	ios::sync_with_stdio(0);
	cin >> N;
	FOR(i,0,N)
	{
	    cin >> in[i];
	}
	sort(in,in+N);
	for (LL i=N-1;i>=0;i--)
	{
	    if(!flag)
	    {
	        flag=true;
            ans+=(in[i]*in[i]);
	    }
	    else
	    {
	        ans-=(in[i]*in[i]);
	        flag=false;
	    }
	}
	cout.precision(12);
	cout << fixed << (long double)(ans*PI) << endl;
}
