#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define fastio ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL)
#define pb push_back
#define pf push_front
#define mp make_pair
#define mod 1000000007
#define vll vector<ll>
#define inf 3e15 +7
#define pll pair<ll,ll>
#define ff first
#define ss second
#define PI acos(-1)
#define prm 998244353
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
typedef tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update>ordered_set;
/*
ll dx[4]={1,-1,0,0};
ll dy[4]={0,0,-1,1};
cout<<fixed<<setprecision(12)<<;
ll power(ll a, ll b){//a^b
    ll res=1;
    a=a%prm;
    while(b>0){
        if(b&1){res=(res*a)%prm;b--;}
        a=(a*a)%prm;
        b>>=1;
    }
    return res;
}
ll inv(ll y){return power(y,prm-2);}
ll fact[300060];
ll nCr(ll n, ll r)
{
   if (r==0)
      return 1;
    return (fact[n]* inv(fact[r]) % prm *
            inv(fact[n-r]) % prm) % prm;
}
 
void init(ll n)
{
	fact[0]=1;
	for(ll i=1;i<=n;i++)fact[i]=(fact[i-1]*i)%prm;
}
*/
/*
//cout<<"Case #"<<fff-T<<": ";
/*
ll spf[15000050];
void sieve()
{
	for(ll i=2;i*i<=15000030;i++){
		if(spf[i]==0){
			for(ll j=i+i;j<=15000030;j+=i){
				if(spf[j]==0){
					spf[j]=i;
				}
			}
		}
	}
}*/

int main()
{
    fastio;
	ll T=1;
	//cin>>T;
	//ll fff=T;
	while(T--)
	{
	     ll n;
	     cin>>n;
	     ll a[n];
	     for(ll i=0;i<n;i++)cin>>a[i];
	     sort(a,a+n);
	     ld x1=(ld)a[n/2]/2;
	     ld x2=(ld)a[n/2 -1]/2;
	     ld x3=(ld)a[n/2 +1]/2;
	     
	     ld ans1=0,ans2=0,ans3=0;
	     for(ll i=0;i<n;i++)
	     {
	         ans1=(ans1+x1+a[i]-min((ld)a[i],(ld)2*x1));
	         ans2=(ans2+x2+a[i]-min((ld)a[i],(ld)2*x2));
	         ans3=(ans3+x3+a[i]-min((ld)a[i],(ld)2*x3));
	     }

	     cout<<fixed<<setprecision(12)<<(ld)min({ans1,ans2,ans3})/(ld)n;
	}
}
/*
 
*/

//Template Created By: OptimalKnight
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <functional>
#include <chrono>

using namespace std;
using namespace __gnu_pbds;
using namespace chrono;

#pragma GCC optimize("Ofast")
#pragma GCC target("fma,sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native")
#pragma GCC optimize("unroll-loops")

#define ios ios_base::sync_with_stdio(false);cin.tie(NULL);

#define max3(a,b,c) max(max((a),(b)),(c))
#define max4(a,b,c,d) max(max((a),(b)),max((c),(d)))
#define min3(a,b,c) min(min((a),(b)),(c))
#define min4(a,b,c,d) min(min((a),(b)),min((c),(d)))

#define ll long long int
#define fo(x,start,end) for(auto x=(start)-((start)>(end));x!=(end)-((start)>(end));((start)<(end)?x++:x--))
#define endl "\n"
#define pb push_back
#define mp make_pair
#define lb lower_bound
#define up upper_bound
#define all(V) V.begin(),V.end()

#define d0(x) cout<<(x)<<" "
#define d1(x) cout<<(x)<<endl
#define d2(x,y) cout<<(x)<<" "<<(y)<<endl
#define ye(x) ((x)==0)?(cout<<"YES"<<endl):(cout<<"Yes"<<endl)
#define no(x) ((x)==0)?(cout<<"NO"<<endl):(cout<<"No"<<endl)
#define take(x) for(auto &y:x) cin>>y
#define show(x) for(auto y:x) cout<<y<<" "; cout<<endl

mt19937_64 gen(chrono::steady_clock::now().time_since_epoch().count());
//uniform_int_distribution<long long int> dis(L,R);
//dis(gen): Produces uniformly distributed integer values on the closed interval [L,R]
//dis.reset(): Resets the distribution
template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
//find_by_order(K): Returns an iterator to the Kth largest element(counting from zero)
//order_of_key(K): Returns the number of items that are strictly smaller than K

//const long double pi=3.14159265358979323846264338;
//const long long INF=1000000000000000000;
//const long long IINF=1000000000;
//const long long int MOD=1000000007;
//Template Ends

int main(){
    ios
    ll Tests=1;
//    cin>>Tests;
    while(Tests--){
    	float A,B;
    	cin>>A>>B;
    	float ans=A*B;
    	ans/=100;
    	cout<<ans<<endl;
    }
}
