#include <cassert>// c #include <ctime> #include <iostream>// io #include <iomanip> #include <fstream> #include <sstream> #include <vector>// container #include <map> #include <set> #include <queue> #include <bitset> #include <stack> #include <algorithm>// other #include <utility> #include <complex> #include <numeric> #include <functional> #include <random> #include <regex> using namespace std; typedef long long ll; #define ALL(c) (c).begin(),(c).end() #define FOR(i,l,r) for(int i=(int)l;i<(int)r;++i) #define REP(i,n) FOR(i,0,n) #define FORr(i,l,r) for(int i=(int)r-1;i>=(int)l;--i) #define REPr(i,n) FORr(i,0,n) #define EACH(i,c) for(__typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i) #define IN(l,v,r) ((l)<=(v) && (v)<(r)) #define UNIQUE(v) v.erase(unique(ALL(v)),v.end()) //debug #define DUMP(x) cerr << #x << " = " << (x) #define LINE() cerr<< " (L" << __LINE__ << ")" template<typename T,typename U> T pmod(T x,U M){return (x%M+M)%M;} stringstream ss; int main(){ cin.tie(0); ios::sync_with_stdio(false); ss <<fixed <<setprecision(20); cout <<fixed <<setprecision(20); double C,Ri,Ro;cin >>C >> Ri >> Ro; cout << C* M_PI * (Ro-Ri)/2*(Ro-Ri)/2 * 2*M_PI * (Ro+Ri)/2 <<endl; return 0; }