#include <iostream>
using namespace std;
int n;
double a, b, maxx;
int main ()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a;
		b += a;
		maxx = max (maxx, b/i);
	}
	cout << maxx;
	return 0;
}

#include <iostream>

using namespace std;

int tux, foo = 0, bar = 0, baz = 0, quz = 1;

int main() {
    cin >> tux;
    for (int i = 1; i <= tux; ++i) {
        int pur;
        cin >> pur;
        foo += pur;
        bar++;
        if (foo * quz > baz * bar) {
            baz = foo;
            quz = bar;
        }
    }
    cout << baz * 1.0 / (quz * 1.0) << endl;
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
     int i, n;
     double a,b=0,mx=0;
     cin>>n;
     for(i=1; i<=n; i++)
     {
          cin>>a; b+=a;
          mx=max(mx,b/i);
     }
     cout<<mx;
     return 0;
}

#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <string>
#include <functional>
#include <algorithm>
using namespace std;

typedef long long ll;
#define MOD 1000000007

int main(void)
{
    std::ios_base::sync_with_stdio(false);

    int tux, foo, bar, baz, quz;
    cin >> tux;
    foo = 0;
    bar = 0;
    baz = 0;
    quz = 1;
    while(tux--)
    {
        int pur;
        cin >> pur;
        foo += pur;
        bar+=1;
        if(max(foo*quz, bar*baz) == foo*quz){
            baz = foo;
            quz = bar;
        }
    }
    cout << (1.0*baz)/(1.0*quz);

    return 0;
}

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int n;
    double a,b(0),maxx(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        b+=a;
        maxx=max(maxx,b/i);
    }
    cout<<maxx;
    return 0;
}

    #include<iostream>
    #include<fstream>
    using namespace std;
    int main()
    {
    	int a;
    	double foo=0,bar=0,baz=0,quz=1;
    	cin >> a ;	double pur;
    	for(int i=1;i<=a;i++)
    	{

    		cin >> pur ;
    		foo+=pur;
    		bar++;
    		if(foo*quz>baz*bar)
    		{
    			baz=foo;
    			quz=bar;
    		}
    	}
    	cout << baz/quz ;
        return 0;
    }

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <sstream>
#include <set>
#include <map>
#include <iomanip>

#define ll long long
#define ld long double

using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int t;
	cin >> t;
	int foo = 0, bar = 0, baz = 0, quz = 1;
	for (int i = 0; i < t; i++) {
		int pur;
		cin >> pur;
		foo = foo + pur;
		bar = bar + 1;
		if (foo * quz >= bar * baz) {
			baz = foo;
			quz = bar;
		}
	}
	cout << fixed << setprecision(6) << (long double)baz / quz;
}

#include<cstdio>

int main(){
    int tux;
    scanf("%d",&tux);
    int foo=0,bar=0,baz=0,quz=1;
    for(int i=0;i<tux;i++){
        int pur;
        scanf("%d",&pur);
        foo+=pur;
        bar++;
        if(foo*quz>=bar*baz){
            baz=foo;
            quz=bar;
        }
    }
    printf("%.6lf\n",(double)baz/quz);

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
double p,f,br,bz,q=1;
int main()
{
	int t;scanf("%d",&t);
	while(t--)
	{
		scanf("%lf",&p),f+=p,br++;
		if(f*q>bz*br)bz=f,q=br;
	}
	printf("%.6lf",bz/q);
	return 0;
}

#include<iostream>
#include<string>
using namespace std;

int main(void)
{
	int tux;
	cin >> tux;
	int foo = 0;
	int bar = 0;
	int baz = 0;
	int quz = 1;
	while (tux--)
	{
		int pur;
		cin >> pur;
		foo = foo + pur;
		bar = bar + 1;
		if (foo * quz >= bar * baz)
		{
			baz = foo;
			quz = bar;
		}
	}
	double q = (double) baz / quz;
	cout << q << endl;
	return 0;
}

#include <stdio.h>

int max(int a, int b){return a<b?b:a;}

int main()
{
    int tux;
    scanf ("%d",&tux);

    int foo = 0, bar = 0, baz = 0, quz = 0;
    for (;tux>0;tux--){
        int pur;
        scanf ("%d",&pur);
        foo = foo + pur;
        bar = bar + 1;
        if (max(foo*quz,bar*baz) == foo*quz){
            baz = foo;
            quz = bar;
        }
    }

    printf ("%.6lf",baz*1./quz);

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
double n,m,x,y,a,b=1;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>m;
		x=m+x;
		y++;
		if(x*b>a*y)
		{
			a=x;
			b=y;
		}
	}
	printf("%.6lf",a*1.0/b);
	return 0;
}

#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <algorithm>
#include <math.h>

using namespace std;

int main(int argc, const char *argv[]) {

    int tux = 0; cin >> tux;
    int foo = 0, bar = 0, baz = 0, quz = 1;
    for (int i = 0; i < tux; ++i) {
        int pur = 0; cin >> pur;
        foo += pur;
        bar++;
        if (max(foo*quz , bar * baz )==  foo * quz) {
            baz = foo;
            quz = bar;
        }
    }

    cout << setprecision(15)<< ((double)baz) / quz << endl;

    return 0;
}

#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <queue>

using namespace std;

#define sqr(a)      ((a)*(a))
#define rep(i,a,b)  for(int i=(a);i<(int)(b);i++)
#define per(i,a,b)  for(int i=((a)-1);i>=(int)(b);i--)
#define PER(i,n)    per(i,n,0)
#define REP(i,n)    rep(i,0,n)
#define clr(a)      memset((a),0,sizeof (a))
#define SZ(a)       ((int)((a).size()))
#define ALL(x)      x.begin(),x.end()
#define mabs(a)     ((a)>0?(a):(-(a)))
#define inf         (0x7fffffff)
#define eps         1e-6

#define MAXN
#define MODN        (1000000007)

typedef long long ll;

char s[100][100] = {"Washington","Adams","Jefferson","Madison","Monroe","Adams","Jackson","Van Buren","Harrison","Tyler","Polk","Taylor","Fillmore","Pierce","Buchanan","Lincoln","Johnson","Grant","Hayes","Garfield","Arthur","Cleveland","Harrison","Cleveland","McKinley","Roosevelt","Taft","Wilson","Harding","Coolidge","Hoover","Roosevelt","Truman","Eisenhower","Kennedy","Johnson","Nixon","Ford","Carter","Reagan","Bush","Clinton","Bush","Obama"};

int main()
{
    int TUX;
    scanf("%d",&TUX);
    int FOO = 0;
    int BAR = 0;
    int BAZ = 0;
    int QUZ = 1;
    for (int i = 0;i < TUX;i++)
    {
        int PUR;
        scanf("%d",&PUR);
        FOO = FOO + PUR;
        BAR = BAR + 1;
        int IT = max(FOO*QUZ,BAR*BAZ) == FOO * QUZ;
        if (IT)
        {
            BAZ = FOO;
            QUZ = BAR;
        }
    }
    printf("%lf\n",1.0 * BAZ / QUZ);

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double tux;
	cin>>tux;
	double foo=0,bar=0,baz=0,quz=1;
	for (int i=1;i<=tux;++i)
	{
		double pur;
		cin>>pur;
		foo+=pur;
		++bar;
		if ((foo*quz)>(baz*bar))
		{
			baz=foo;
			quz=bar;
		}
	}
	double t=baz/quz;
	printf("%.6lf",t);
	return 0;
}

#include <iostream>
using namespace std;
int main()
{
	int tux;
	cin>>tux;
	int foo=0,bar=0,baz=0,quz=1;
	for(int i=1;i<=tux;i++)
	{
		int pur;
		cin>>pur;
		foo=foo+pur;
		bar=bar+1;
		if(foo*quz>baz*bar)
		{
			baz=foo;
			quz=bar;
		}
	}
	cout<<double(baz)/double(quz);
	return 0;
}

#include<stdio.h>
int main()
{
    int FOO=0;
    int BAR=0;
    int BAZ=0;
    int QUZ=1;
    int i,TUX,PUR;
    scanf("%d",&TUX);
    for(int YR=TUX;YR!=0;YR--)
    {
        scanf("%d",&PUR);
        FOO+=PUR;
        BAR++;
        if(FOO*QUZ>=BAR*BAZ){BAZ=FOO;QUZ=BAR;}
    }
    printf("%g",(double)BAZ/QUZ);
}

#pragma region Header
#include <cmath>
#include <bitset>
#include <stack>
#include <map>
#include <set>
#include <queue>
#include <ctime>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
#define INF ((int)0x3F3F3F3F)
#define FINF ((int)0xC0C0C0C0)
#define llINF 0x3F3F3F3F3F3F3F3FLL
#define llFINF 0xC0C0C0C0C0C0C0C0LL
typedef long long LL;
typedef unsigned long long ULL;
typedef unsigned int UINT;
#define Clear(x) memset(v,0,sizeof(v));
#define OJ_DBG(expr,str) (void)(!!(expr)||(puts(str),exit(0),0))
#ifdef _DEBUG
#define DEBUG(str,...) fprintf(stderr,str,__VA_ARGS__)
#define DEBUGX(exp) exp
#else
#define _ASSERTE(...) (void)(0)
#define DEBUG(str,...)(int)(0)
#define DEBUGX(exp)
#endif
#define FREOPEN(s) freopen(s".in", "r", stdin); freopen(s".out", "w", stdout);
#define IGNORE() while (c > '9' || c < '0') {if (c == -1)return -1;if (c == '-')f = 0;c = getchar();}
#define READ(x,expr) while (c >= '0' && c <= '9') {expr;x = x * 10 + c - '0';c = getchar();}
inline int read() { int re = 0; bool f = 1; char c = getchar(); IGNORE(); READ(re, ;); return f ? re : -re; }
inline LL readll() { LL re = 0; bool f = 1; char c = getchar(); IGNORE(); READ(re, ;); return f ? re : -re; }
inline double readd() {
	double a = 0, b = 0; bool f = 1;
	char c = getchar();
	IGNORE(); READ(a, ;);
	if (c == '.') {
		int cnt = 0;
		c = getchar();
		READ(b, ++cnt);
		while (cnt--)b = b / 10;
	}
	return f ? (a + b) : -(a + b);
}
inline void write(LL x) {
	if (x == 0)return (void)putchar('0');
	if (x < 0)putchar('-'), x = -x;
	static char buf[30];
	char* p = buf;
	while (x) {
		*(p++) = x % 10 + '0';
		x /= 10;
	}
	while (p > buf)putchar(*(--p));
}
inline int readstr(char* s) {
	char* begin = s;
	char c = getchar();
	while (c <= 32 || c > 126)c = getchar();
	while (c > 32 && c <= 126) {
		*s++ = c;
		c = getchar();
	}
	*s = 0;
	return s - begin;
}
#pragma endregion

int main() {
	int TUX = read();
	int FOO = 0, BAR = 0, BAZ = 0, QUZ = 1;
	for (int i = 1; i <= TUX; i++) {
		int PUR = read();
		FOO += PUR;
		BAR++;
		if (FOO * QUZ > BAZ * BAR) {
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	printf("%lf", (double)BAZ / QUZ);

	return 0;
}

#include <iostream>
#include <iomanip>
using namespace std;
int main(){
    int tux;
    cin >> tux;
    int foo = 0, bar = 0, baz = 0, quz = 1; //定义 整型变量 FOO=0, BAR=0, BAZ=0, QUZ=1
    for (int i = 1; i <= tux; ++i){ //从 1 循环到 TUX 执行以下操作
        int pur; //定义 整型变量 PUR
        cin >> pur; //输入 PUR
        foo += pur; //FOO = FOO + PUR
        ++bar; //BAR = BAR + 1
        if (foo * quz > baz * bar){ //如果 FOO * QUZ > BAZ * BAR
            baz = foo; //BAZ = FOO
            quz = bar; //QUZ = BAR
        }
    }
    cout << double(baz) / double(quz) << endl; //输出 BAZ/QUZ，注意转一下精度
    return 0; //结束
}

#include <cstdio>
#include <iostream>

using namespace std;

int main()
{
        int tux;
        cin >> tux;
        int foo = 0, bar = 0, baz = 0, quz = 1;
        while (tux--)
        {
                int pur;
                cin >> pur;
                foo = foo + pur;
                bar = bar + 1;
                if (bar * baz < foo * quz)
                {
                        baz = foo;
                        quz = bar;
                }
        }

        cout << 1.0 * baz / quz << endl;

        return 0;
}

#include <iostream>
#include <iomanip>
#include <algorithm>
#include <bitset>
#include <vector>
#include <map>
#include <queue>
#include <deque>
#include <set>
#include <math.h>
#include <assert.h>
#include <time.h>
#include <stdio.h>
#include <string.h>
#include <string>
#include <sstream>

using namespace std;
typedef  long long ll;
template<typename T> int size(T &a) {return (int)a.size();}
template<typename T> T sqr(T a)  { return a * a; }

#define fi first
#define se second
#define next abracadabranext
#define link abracadabralink
#define VAR(a,b) __typeof(b) a=(b)
#define FOR(it,c) for(VAR(it,(c).begin());it!=(c).end();++it)
#define REP(i,a,b) for(int i=(a);i<(b); ++i)
#define REPD(i,a,b)for(int i=(b)-1;i>=a;--i)
#define _(a,b) memset((a), (b), sizeof(a))
#define all(a) a.begin(), a.end()
#define mp make_pair
#define pb push_back
#define ve vector

int main() {
#ifdef air
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif

	int n;
	cin >> n;
	int sum = 0;
	double best = -1e100;
	REP(i, 0, n) {
		int x;
		cin >> x;
		sum += x;
		best = max(best, sum * 1.0 / (i+1));
	}
	printf("%.10lf\n", best);

#ifdef air
	printf("\n\n%.3lf\n", clock() * 1.0 / CLOCKS_PER_SEC);
#endif
	return 0;
}

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
    int n;
    scanf("%d",&n);
    int FOO=0,BAR=0,BAZ=0,QUZ=1;
    for(int i=0;i<n;i++)
    {
        int PUR;
        scanf("%d",&PUR);
        FOO=FOO+PUR;
        BAR=BAR+1;
        if(FOO*QUZ>BAZ*BAR)
        {
            BAZ=FOO;
            QUZ=BAR;
        }
    }
    printf("%f",double(BAZ)/QUZ);
    return 0;
}

/***************************************
	  Authur : zzblack                **
	  Created: 2016-08-01             **
	  Orz                             **
****************************************/
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <ctime>
#include <cmath>
#include <string>
#include <cctype>
#include <cstdio>
#include <vector>
#include <bitset>
#include <cstdlib>
#include <cstring>
#include <iomanip>
#include <sstream>
#include <iostream>
#include <assert.h>
#include <algorithm>
using namespace std;
#define ls id<<1,l,mid
#define rs id<<1|1,mid+1,r
#define OFF(x) memset(x,-1,sizeof x)
#define CLR(x) memset(x,0,sizeof x)
#define MEM(x) memset(x,0x3f,sizeof x)
typedef long long ll ;
typedef pair<int,int> pii ;
const int maxn = 1e5 + 50 ;
const int maxm = 1e6 + 50;
const double eps = 1e-10;
const int max_index = 62;
const int inf = 0x3f3f3f3f ;
const int MOD = 1e9+7 ;

inline int read(){
	char c = getchar();
	while (!isdigit(c)) c = getchar();
	int x = 0;
	while (isdigit(c)) {
	    x = x * 10 + c - '0';
	    c = getchar();
	}
	return x;
}

int main () {
#ifdef LOCAL
	freopen("C:\\Users\\zzblack\\Desktop\\case.in","r",stdin);
	freopen("C:\\Users\\zzblack\\Desktop\\case.out","w",stdout);
#endif
	int n = read();
	int a = 0, b = 0;
	int c = 0, d = 1;
	for (int i = 1; i <= n; i++) {
		int x = read();
		a += x;
		b++;
		if (max(d * a, b * c) == d * a) {
			c = a;
			d = b;
		}
	}
	printf("%.10f\n", 1.0 * c / d);

	return 0;
}

#include <cstdio>

int main(){
	double FOO=0,BAR=0,BAZ=0,QUZ=1;
	int TUX,PUR,i;
	scanf("%d",&TUX);
	for(i=1;i<=TUX;++i)
	{
		scanf("%d",&PUR);
		FOO+=PUR;
		++BAR;
		if(FOO*QUZ>BAZ*BAR)
		{
			BAZ=FOO;
			QUZ=BAR;
		}
	}
	printf("%.6lf",BAZ/QUZ);
    return 0;
}

#include <iostream>
#include <iomanip>

using namespace std;

int TUX;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cout << setprecision(4) << fixed;
    cin >> TUX;
    int FOO = 0, BAR = 0, BAZ = 0, QUZ = 1;
    while(TUX--)
        {   int PUR;
            cin >> PUR;
            FOO += PUR;
            BAR++;
            if(max(FOO * QUZ, BAR * BAZ) == FOO * QUZ)
                {   BAZ = FOO;
                    QUZ = BAR;
                }
        }
    cout << (double) BAZ / (double) QUZ << '\n';
    return 0;
}

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;

int main () { // HAI
    int tux; // I HAS A TUX
    cin >> tux; // GIMMEH TUX
    int foo = 0; // I HAS A FOO ITS 0
    int bar = 0; // I HAS A BAR ITS 0
    int baz = 0; // I HAS A BAZ ITS 0
    int quz = 1; // I HAS A QUZ ITS 1
    while (tux--) { // IM IN YR LOOP NERFIN YR TUX TIL BOTH SAEM TUX AN 0
        int pur; // I HAS A PUR
        cin >> pur; // GIMMEH PUR
        foo += pur; // FOO R SUM OF FOO AN PUR
        bar += 1; // BAR R SUM OF BAR AN 1
        if (max(foo * quz, bar * baz) == foo * quz){ // BOTH SAEM BIGGR OF PRODUKT OF FOO AN QUZ AN PRODUKT OF BAR BAZ AN PRODUKT OF FOO AN QUZ
            baz = foo; // BAZ R FOO
            quz = bar; // QUZ R BAR
        }
    }
    cout << (double)baz / quz; // VISIBLE SMOOSH QUOSHUNT OF BAZ QUZ
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main(){
    double tux,pur,foo=0,bar=0,baz=0,quz=1;
    cin>>tux;
    for(int i=1;i<=tux;i++){
        cin>>pur;
        foo+=pur;
        bar++;
        if(foo*quz>baz*bar){
            baz=foo;
            quz=bar;
        }
    }
    printf("%.6lf",baz/quz);
    return 0;
}

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
double a,b,c=0,d=0,e=0,f=1,ans;
int main()
{
    cin>>a;
    for(int i=1;i<=a;i++)
	{
        cin>>b;
        c+=b;
        d++;
        if(c*f>e*d)
		{
            e=c;
            f=d;
        }
    }
    ans=e/f;
    printf("%.6lf\n",ans);
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
double tux,foo=0,bar=0,baz=0,quz=1;
int main()
{
	cin>>tux;
	for(int i=1;i<=tux;i++)
	{
		int pur;
		cin>>pur;
		foo+=pur;
		bar++;
		if(foo*quz>baz*bar)
		{
			baz=foo;
			quz=bar;
		}
	}
	cout<<baz/quz;
	return 0;
}

#include <iostream>
#include <string>
#include <cmath>
#include <fstream>
#include <cstdio>
#include <algorithm>
#include <numeric>
#include <vector>
#include <deque>
#include <map>
#include <list>
#include <iterator>
#include <cstring>
#include <set>
#include <cstdlib>
#include <sstream>
using namespace std;

typedef long long ll;
typedef pair <int,int> pii;
typedef pair <long long,long long> pll;
typedef unsigned long long ull;
typedef vector <int> vi;
typedef map <int,int> mii;

#define pb push_back
#define forn(i,n) for(i=0;i<n;++i)
#define rforn(i,n) for(i=n-1;i>=0;--i)
#define e 0.00000000001
#define PI 3.1415926535897932384626433832795

int main()
{
	int pur,foo,tux,bar,baz,quz,x,i;
	cin>>tux;
		foo = 0;
		bar = 0;
		baz = 0;
		quz = 1;

		do
		{
			tux -= 1;
			cin>> pur;
			foo += pur;
			bar += 1;
			if (foo*quz >= bar*baz)
			{
				baz = foo;
				quz = bar;
			}
		}
		while (tux!=0);

		cout.precision(20);
		cout<< (double)baz/quz;
	return 0;
}

#include <stdio.h>

#define MAX(a,b) (a>b?a:b)

int main()
{
    int t;
    scanf("%d",&t);

    int a = 0, b = 0, c= 0, d = 1;

    while(t--)
    {
        int p;
        scanf("%d",&p);

        a = a + p;
        b = b + 1;

        if(MAX(a*d,b*c) == a*d)
        {
            c = a;
            d = b;
        }
    }

    printf("%.6lf\n",(double)c/d);
}

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
	int tux;
	cin >> tux;
	float foo = 0, bar = 0, baz = 0, quz = 1;

	for (int i = tux; i != 0; --i)
	{
		float pur;
		cin >> pur;
		foo = foo + pur;
		bar = bar + 1;

		if (max(foo * quz, bar * baz) == foo * quz)
		{
			baz = foo;
			quz = bar;
		}
	}
	cout << (baz / quz);
	return 0;
}

#include <bits/stdc++.h>
#define ri register long long
using namespace std;
long long pur, tux, foo, bar, baz, quz=1;
int main()
{
    scanf("%d", &tux);
    for(ri i=1; i<=tux; i++)
    {
        scanf("%d", &pur);
        bar++;
        foo+=pur;
        if(foo*quz>baz*bar)
        {
            baz=foo;
            quz=bar;
        }
    }
    printf("%0.6Lf", 1.0*baz/quz);
    return 0;
}

# include <iostream>
# include <cmath>
# include <algorithm>
# include <cstdio>
# include <cstring>
# include <string>
# include <cstdlib>
# include <vector>
# include <bitset>
# include <map>
# include <queue>
# include <stack>
# include <set>
# include <list>
# include <deque>
# include <functional>
# include <sstream>
# include <fstream>
using namespace std;

//#define DEBUG

#define DB(x) cout<<#x<<"="<<x<<" "
#define DBN(x) cout<<#x<<"="<<x<<"\n"

#define  DEBUG
#ifdef DEBUG
#define D(x) DB(x)
#define DN(x) DBN(x)
#define DA(a,n) cout<<#a<<"=["; printarray(a,n); cout<<"]\n"
#define DAR(a,n,s) cout<<#a<<"["<<s<<"-"<<n-1<<"]=["; printarray(a,n,s); cout<<"]\n"
#else
#define D(x)
#define DN(x)
#define DA(a,n)
#define DAR(a,n,s)
#endif

#ifdef DEBUG
#define DPR(fmt, ...) \
	do { printf(fmt, ## __VA_ARGS__); } while (0)
#else
#define DPR(fmt, ...) \
	do { } while (0)
#endif

#define PR(fmt, ...) \
	do { printf(fmt, ## __VA_ARGS__); } while (0)

// Useful constants

#define INF				(int)1e9
#define EPS             (double)1e-9
#define mod				1000000007

#define pii pair<int,int>
#define pll pair<long long,long long>
#define mp make_pair
#define F first
#define S second
#define ll long long

template<typename T1,typename T2,typename T3>
struct triple{T1 a;T2 b;T3 c;triple(T1 _a,T2 _b, T3 _c):a(_a),b(_b),c(_c){}};
#define tri triple<int,int,int>
#define trl triple<ll,ll,ll>

#define For(i,a,b) for(int i=a;i<b;i++)

// Input macros
#define S(n)                        scanf("%d",&n)
#define Sc(n)                       scanf("%c",&n)
#define Sl(n)                       scanf("%I64d",&n)
#define Sf(n)                       scanf("%lf",&n)
#define Ss(n)                       scanf("%s",n)

//Output macros
#define Pr(n)						printf("%d ",n)
#define Prn(n)						printf("%d\n",n)
#define Prc(n)                      printf("%c",n)
#define Prcn(n)                     printf("%c\n",n)
#define Prl(n)                      printf("%I64d ",n)
#define Prln(n)                     printf("%I64d\n",n)
#define Prf(n)                      printf("%lf ",n)
#define Prfn(n)                     printf("%lf\n",n)
#define Prs(n)                      printf("%s ",n)
#define Prsn(n)                     printf("%s\n",n)

//STL containers
#define foreach(v, c)               for( typeof( (c).begin()) v = (c).begin();  v != (c).end(); ++v)
#define all(a)                      a.begin(), a.end()
#define in(a,b)                     ((b).find(a) != (b).end())
#define in2(a,b)                    (find(all(b),a) != (b).end())
#define pb                          push_back
#define sz(a)                       ((int)(a.size()))
#define vi vector<int>
#define vl vector<long long>
#define svi(vec,n) FI(n) s(vec[i])
#define svl(vec,n) FI(n) sl(vec[i])
#define it ::iterator

//fill char arrays
#define fill(a,v)                    memset(a, v, sizeof (a))

#define checkbit(n,b)                ( (n >> b) & 1)
#define INDEX(arr,ind)               (lower_bound(all(arr),ind)-arr.begin())
#define sor(a)  sort(all(a))
#define rsor(a) sort(all(a)); reverse(all(a));
#define exchange(t,a,b) typeof(a) t =a; a=b; b=t

//STL output ********************************
template<typename T1,typename T2>inline std::ostream& operator << (std::ostream& os, const std::pair<T1, T2>& p){return os << "(" << p.first << ", " << p.second << ")";}
template<typename T>inline std::ostream &operator<<(std::ostream &os,const std::vector<T>& v){bool first=true;os<<"[";for(unsigned int i=0;i<v.size();i++){if(!first)os<<", ";os<<v[i];first=false;}return os<<"]";}
template<typename T>inline std::ostream &operator<<(std::ostream &os,const std::set<T>&v){bool first=true;os << "[";for(typename std::set<T>::const_iterator ii=v.begin();ii!=v.end();++ii){if(!first)os<<", ";os<<*ii;first=false;}return os<<"]";}
template<typename T1, typename T2>inline std::ostream &operator << (std::ostream & os,const std::map<T1, T2>& v){bool first = true; os << "[";for (typename std::map<T1,T2>::const_iterator ii =v.begin();ii!=v.end();++ii){if(!first)os<<", ";os<<*ii;first=false;}return os<<"]";}
template<typename T,typename T2>void printarray(T  a[],T2 sz,T2 beg=0){for(T2 i=beg;i<sz;i++) cout<<a[i]<<" ";}

#define sqrt(x) sqrt(1.0*(x))
#define pow(x,n) pow(1.0*(x),n)

inline ll binpow(ll x,ll n){ll res=1;while(n){if(n&1)res*=x;x*=x;n>>=1;}return res;}
inline ll powmod(ll x,ll n, ll _mod){ll res=1;while(n){if(n&1)res=(res*x)%_mod;x=(x*x)%_mod;n>>=1;}return res;}
inline ll gcd(ll a,ll b){ll t;while(b){a=a%b;t=a;a=b;b=t;}return a;}
inline int gcd(int a,int b){int t;while(b){a=a%b;t=a;a=b;b=t;}return a;}
inline ll lcm(int a,int b){return a/gcd(a,b)*(ll)b;}
inline ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
inline ll gcd(ll a,ll b,ll c){return gcd(gcd(a,b),c);}
inline int gcd(int a,int b,int c){return gcd(gcd(a,b),c);}
inline ll lcm(ll a,ll b,ll c){return lcm(lcm(a,b),c);}
inline ll lcm(int a,int b,int c){return lcm(lcm(a,b),(ll)c);}

inline ll max(ll a,ll b){return (a>b)?a:b;}
inline int max(int a,int b){return (a>b)?a:b;}
inline double max(double a,double b){return (a>b)?a:b;}
inline ll max(ll a,ll b,ll c){return max(a,max(b,c));}
inline int max(int a,int b,int c){return max(a,max(b,c));}
inline double max(double a,double b,double c){return max(a,max(b,c));}
inline ll min(ll a,ll b){return (a<b)?a:b;}
inline int min(int a,int b){return (a<b)?a:b;}
inline double min(double a,double b){return (a<b)?a:b;}
inline ll min(ll a,ll b,ll c){return min(a,min(b,c));}
inline int min(int a,int b,int c){return min(a,min(b,c));}
inline double min(double a,double b,double c){return min(a,min(b,c));}

inline void getar(int *a,int n){for (int ii=0;ii<n;ii++){scanf("%d",a+ii);}}
inline void getar(ll *a,int n){for (int ii=0;ii<n;ii++){scanf("%I64",a+ii);}}

int main()
{
	int n;
	cin>>n;
	int foo = 0;
	int bar = 0;
	int baz = 0;
	int quz = 0;
	for (int i=0;i<n;i++)
	{
		int x;
		cin>>x;
		foo = foo + x;
		bar = bar + 1;
		if ( max(foo*quz,bar*baz) == foo*quz)
		{
			baz = foo;
			quz = bar;
		}
	}
	cout<<baz/(float)quz<<endl;
	return 0;
}

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	int tux;
	cin>>tux;
	int foo=0,bar=0,baz=0,quz=1;
	for(int i=1; i<=tux; i++){
		int pur;
		cin>>pur;
		foo+=pur;
		bar=bar+1;
		if(foo*quz>baz*bar){
			baz=foo;
			quz=bar;
		}
	}
	double a=baz,b=quz;
	cout<<fixed<<setprecision(6)<<a/b<<endl;
}

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#define line cout << endl
using namespace std;
double tux, pur, foo = 0, bar = 0, baz = 0, quz = 1.0;
int main() {
	cin >> tux;
	for (int i = 1; i <= tux; i++) {
		cin >> pur;
		foo += pur;
		bar++;
		if (foo * quz > baz * bar) {
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf\n", baz / quz);
	return 0;
}

#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <stack>
#include <deque>
#include <set>
#include <string>

using namespace std;

int main(){
    int tux;
    cin >> tux;
    int foo = 0, bar = 0, baz = 0, quz = 1;
    while (tux != 0){
        int pur;
        cin >> pur;
        foo += pur;
        bar++;
        if (max (foo * quz, bar * baz) == foo * quz){
                baz = foo;
                quz = bar;
        }
        else
            break;
        tux--;
    }
    printf("%.15f", (double)baz / (double)quz);
    return 0;
}

#include <iostream>
using namespace std;
int main()
  {
  /*int N;
  std::cin >> N;
  double sum = 0, num;
  for(int i = 0; i < N; ++i)
    {
    std::cin >> num;
    sum += num;
    }
  std::cout << sum / N;*/
  int tux;
  cin >> tux;
  int foo = 0, bar = 0, quz = 0;
  double baz = 0;
  while(tux != 0)
    {
    int pur;
    cin >> pur;
    foo = foo + pur;
    ++bar;
    if(
      ((foo * quz > bar * baz) ? foo * quz : bar * baz) == foo * quz
      )
      {
      baz = foo;
      quz = bar;
      }
    --tux;
    }
  cout << baz / quz;
  return 0;
  }

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <algorithm>
#include <numeric>
#include <functional>
#include <cmath>
#include <cstring>
#include <cctype>
#include <sstream>
#include <set>
#include <map>
#include <queue>
#include <complex>
using namespace std;
#define REP(i,n) for(int i = 0; i < (int)n; i++)
#define FOR(i,a,b) for(int i = a; i < (int)b; i++)
#define FOREQ(i,a,b) for(int i = a; i <= (int)b; i++)
#define FOREACH(it, c) for(__typeof((c).begin()) it = (c).begin(); it != (c).end(); ++it)
#define ALL(c) (c).begin(), (c).end()
#define SZ(c) (c).size()
template <class T> void pp(T v) { FOREACH(it, v) cout << *it << ' '; cout << endl ; }
template <class T> void pp(T v, int n) { REP(i,n) cout<<v[i]<< ' '; cout << endl; }
template <class T> inline void chmax(T &a, const T b) { a = max(a, b); }
template <class T> inline void chmin(T &a, const T b) { a = min(a, b); }
typedef vector<int> vint;
typedef pair<int, int> pint;
typedef complex<double> P;
#define mp make_pair
typedef long long ll;
typedef long double ld;
typedef unsigned uint;
const int INF = 1<<28;
const double EPS = 1.0e-9;
static const int dx[] = {1, 0, -1, 0}, dy[] = {0, -1, 0, 1};
#undef MOD_CALC
#ifdef MOD_CALC
const ll MOD = 1000 * 1000 * 1000 + 7 ; // 1000000007
inline void chadd(ll &a, const ll b) { a = (a + b) % MOD;}
inline ll add(const ll a, const ll b){ return (a + b) %  MOD;}
inline void chsub(ll &a, const ll b) { a = (a - b + MOD) % MOD;}
inline ll sub(const ll a, const ll b){ return (a - b + MOD) % MOD; }
inline void chmul(ll &a, const ll b) { a = (a * b) %  MOD;}
inline ll mul(const ll a, const ll b){ return (a * b) %  MOD;}
#endif
int main(void)
{
    // HAI
    int TUX; // I HAS A TUX
    cin >> TUX; // GIMMEH TUX
    int FOO = 0; // I HAS A FOO ITS 0
    int BAR = 0; // I HAS A BAR ITS 0
    int BAZ = 0; // I HAS A BAZ ITS 0
    int QUZ = 1; // I HAS A QUZ ITS 1
    // TUX IS NOW A NUMBR
    while(-- TUX >= 0) {// IM IN YR LOOP NERFIN YR TUX TIL BOTH SAEM TUX AN 0
        int PUR; //I HAS A PUR
        cin >> PUR; // GIMMEH PUR
        // PUR IS NOW A NUMBR
        FOO = FOO + PUR; // FOO R SUM OF FOO AN PUR
        BAR = BAR + 1; // BAR R SUM OF BAR AN 1
        // BOTH SAEM BIGGR OF [PRODUKT OF FOO AN QUZ] AN PRODUKT OF BAR BAZ AN [PRODUKT OF FOO AN QUZ]
        //cout << FOO * QUZ << endl;
        //cout << BAR * BAZ << endl;
        if(FOO * QUZ < BAR * BAZ) break;
    // O RLY?
    // YA RLY
        BAZ = FOO; // BAZ R FOO
        QUZ = BAR; // QUZ R BAR
    // OIC
    // IM OUTTA YR LOOP
    }
    // BAZ IS NOW A NUMBAR
    double ans = (double)BAZ / (double) QUZ; //VISIBLE SMOOSH QUOSHUNT OF BAZ QUZ
    printf("%0.8f\n", ans);
    // KTHXBYE
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,i,j;
    double s=0;
    double a=0;
    double b=0;
    double c=0;
    double d=1;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&j);
        a=a+j;
        b=b+1.0;
        if(a*d>=b*c)
        {
        c=a;
        d=b;
        }
    }
    printf("%lf",c/d);
    return 0;
}

#include<bits/stdc++.h>

using namespace std;
long double a,b,c,d=1,x;
int n;

int main()
{
	cin>>n;
	for(register int i=1;i<=n;i++)
	{
		cin>>x;
		a+=x;
		c++;
		if(a*d>b*c)
		{
			b=a;
			d=c;
		}
	}
	cout<<b/d;
	return 0;
}

#include<bits/stdc++.h>
#define re register int
using namespace std;
int main()
{
	int TUX;
	cin>>TUX;
	double FOO=0,BAR=0,BAZ=0,QUZ=1;
	for(re i=1;i<=TUX;i++)
	{
		int PUR;
		scanf("%d",&PUR);
		FOO+=PUR;
		BAR++;
		if(FOO*QUZ>BAZ*BAR)
		{
			BAZ=FOO;
            QUZ=BAR;
		}
	}
	printf("%.6lf",BAZ/QUZ);
	return 0;
}

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
using namespace std;
int n,i,ans=0,a,b,c,d,e,f;
int main(){
    ios_base::sync_with_stdio(false);
    cin >> n;
    for(i=1;i<=n;i++){
        cin >>a;
        b+=a;
        c++;
        if(b*d>=c*e){
            e=b;
            d=c;
        }
    }
    printf("%.6lf\n",(double)e/d);
    return 0;
}

//
//  main.cpp
//  april1-a
//
//  Created by Andriy Medvid' on 01.04.13.
//  Copyright (c) 2013 Andriy Medvid'. All rights reserved.
//

#include <iostream>

int main(int argc, const char * argv[])
{
    int foo = 0, bar = 0, baz = 0, quz = 1;
    int tux;

    scanf("%d", &tux);

    for(int i = 0; i < tux; i++)
    {
        int pur;
        scanf("%d", &pur);

        foo = foo + pur;

        bar = bar+1;

        if(foo*quz > bar*baz)
        {
            baz = foo;
            quz = bar;
        }
    }

    printf("%.6lf", (double)baz/ (double)quz);

    return 0;
}

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define ll long long
#define fr(c,a,b) for(int c=a;c<=b;c++)
#define rf(c,a,b) for(int c=a;c>=b;c--)
const int Max=0x3f3f3f3f;
const int Min=-1;
int max(int x,int y){return x>y?x:y;}
int min(int x,int y){return x<y?x:y;}
int abs(int x){return x>0?x:-x;}
inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
	return x*f;
}
inline void write(int x)
{
	if(x<0){putchar('-');x=-x;}
	if(x>9)write(x/10);
	putchar(x%10+'0');
}
int main()
{
    ios_base::sync_with_stdio(0);
	int TUX;
    cin>>TUX;
	double FOO=0,BAR=0,BAZ=0,QUZ=1;
    for(int i=1;i<=TUX;i++)
	{
		double PUR;
        cin>>PUR;
        FOO=FOO+PUR;
        BAR=BAR+1;
        if(FOO*QUZ>BAZ*BAR)
		{
            BAZ=FOO;
            QUZ=BAR;
        }
    }
    printf("%.6llf",BAZ/QUZ);
    return 0;
}

#include<stdio.h>
#include<string>
#include<math.h>
#include<stdlib.h>
#include<set>
#include<bitset>
#include<map>
#include<vector>
#include<string.h>
#include<algorithm>
#include<iostream>
#define pb push_back
using namespace std;
int main(){
    int n,x;
    scanf("%d",&n);
    int y=0,z=0;
    double an=0;
    while(scanf("%d",&x)==1){
        y+=x;
        z++;
        an=max(an,y*1./z);
    }
    printf("%.12f\n",an);
    return 0;
}

#include <iostream>
#include <string>

using namespace std;

using ll = long long;

int main() {
    // I HAS A TUX
    ll tux;
    // GIMMEH TUX
    cin >> tux;
    // I HAS A FOO ITS 0
    ll foo = 0;
    // I HAS A BAR ITS 0
    ll bar = 0;
    // I HAS A BAZ ITS 0
    ll baz = 0;
    // I HAS A QUZ ITS 1
    ll quz = 1;
    // TUX IS NOW A NUMBR
    // IM IN YR LOOP NERFIN YR TUX TIL BOTH SAEM TUX AN 0
    for (; tux != 0; --tux) {
        // I HAS A PUR
        ll pur;
        // GIMMEH PUR
        cin >> pur;
        // PUR IS NOW A NUMBR
        // FOO R SUM OF FOO AN PUR
        foo = foo + pur;
        // BAR R SUM OF BAR AN 1
        bar = bar + 1;
        // BOTH SAEM (BIGGR OF (PRODUKT OF FOO AN QUZ) AN (PRODUKT OF BAR BAZ)) AN (PRODUKT OF FOO AN QUZ)
        // O RLY?
        if (max(foo*quz, bar*baz) == foo*quz) {
            // YA RLY
            // BAZ R FOO
            baz = foo;
            // QUZ R BAR
            quz = bar;
        // OIC
        }
    // IM OUTTA YR LOOP
    }
    // BAZ IS NOW A NUMBAR
    // VISIBLE SMOOSH QUOSHUNT OF BAZ QUZ
    cout << (double)baz / quz << endl;
    // KTHXBYE
}

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <algorithm>
#include <functional>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <climits>
#include <iomanip>

using namespace std;

int main()
{
	int foo = 0;
	int bar = 0;
	int baz = 0;
	int quz = 1;
	int tux;
	cin >> tux;

	while (tux-- != 0) {
		int pur;
		cin >> pur;
		foo += pur;
		bar++;
//		cout << foo*quz << ' ' << bar*baz << endl;
		if (foo*quz > bar*baz) {
			baz = foo;
			quz = bar;
		}
	}
	cout.precision(6);
	cout << fixed << double(baz) / quz << endl;
//	cout << baz << ' ' << quz << endl;

	return 0;
}

//666yuchen
#include<bits/stdc++.h>
using namespace std;
double tux,foo,bar,baz,quz=1;
int main()
{
  cin>>tux;
  for(int i=1;i<=tux;i++)
  {
  	double pur;
  	cin>>pur;
  	foo+=pur;
  	bar++;
  	if(foo*quz>baz*bar)baz=foo,quz=bar;
  }
  cout<<baz/quz;
  return 0;
}

#include<iostream>
using namespace std;

int main()
{
	double a , sum=0, mx=0, n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a;
		sum+=a;
		mx=max(mx,sum/i);
	}
	cout<<mx;
	return 0;
}

#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    int tux;
    cin>>tux;
    int foo=0,bar=0,baz=0,quz=1;
    for(int i=1;i<=tux;i++)
    {
        int pur;
        cin>>pur;
        foo+=pur;
        bar++;
        if(foo*quz>baz*bar)
        {
            baz=foo;
            quz=bar;
        }
    }
    cout<<double(baz)/double(quz)<<endl;
    return 0;
}

#include <bits/stdc++.h>
using namespace std;
int main()
{
    double TUK;
    double FOO=0,BAR=0,BAZ=0,QUZ=1;
    double PUR;
    cin>>TUK;
    for(int i=1;i<=TUK;i++)
    {
    	cin>>PUR;
    	FOO+=PUR;
    	BAR++;
    	if(FOO*QUZ>BAZ*BAR)
    	{
    		BAZ=FOO;
    		QUZ=BAR;
		}
	}
	printf("%.6lf",BAZ/QUZ);
}

//stolen from wikipedia

#pragma comment(linker, "/STACK:268435456")
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <deque>
#include <queue>
#include <list>
#include <stack>
#include <cstring>
#include <cstdlib>
#include <complex>
#include <ctime>
#include <bitset>
#include <iomanip>
#include <sstream>
#include <hash_map>

using namespace std;
const double pi = 3.1415926535897932384626433832795;
template<class T> T min(T &a, T &b) { return (a<b) ? a : b; }
template<class T> T max(T &a, T &b) { return (a>b) ? a : b; }
template<class T> T sqr(T a) { return a*a; }
template<class T> T abs(T &a) { return (a<0) ? (-a) : a; }
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int,int> ii;

// int
inline void read   (int &x) { scanf ("%d",   &x); }
inline void readln (int &x) { scanf ("%d\n", &x); }
inline void write  (int  x) { printf("%d",    x); }
inline void writeln(int  x) { printf("%d\n",  x); }
// long long
#ifdef _WIN32
inline void read   (ll &x) { scanf ("%I64d",   &x); }
inline void readln (ll &x) { scanf ("%I64d\n", &x); }
inline void write  (ll  x) { printf("%I64d",    x); }
inline void writeln(ll  x) { printf("%I64d\n",  x); }
#else
inline void read   (ll &x) { scanf ("%lld",   &x); }
inline void readln (ll &x) { scanf ("%lld\n", &x); }
inline void write  (ll  x) { printf("%lld",    x); }
inline void writeln(ll  x) { printf("%lld\n",  x); }
#endif
// double
inline void read   (double &x) { scanf ("%lf",     &x); }
inline void readln (double &x) { scanf ("%lf\n",   &x); }
inline void write  (double  x) { printf("%.15lf",   x); }
inline void writeln(double  x) { printf("%.15lf\n", x); }
// string
inline void read   (char* s) { scanf ("%s"  , s); }
inline void readln (char* s) { scanf ("%s\n", s); }
inline void write  (char* s) { printf("%s"  , s); }
inline void writeln(char* s) { printf("%s\n", s); }
// read methods
inline int    readInt()    {    int x; read(x); return x; }
inline ll     readLong()   {     ll x; read(x); return x; }
inline double readDouble() { double x; read(x); return x; }

void showTime() {
//#ifdef TEDDY_BEARS
	cerr << "Time = " << double(clock()) / CLOCKS_PER_SEC << endl;
//#endif
}

#define all(v) (v).begin(),(v).end()
#define sz(v) ((int)((v).size()))
#define PB push_back
#define MP make_pair
#define CLR(a) memset((a),0,sizeof(a))
#define FILL(a,x) memset((a),(x),sizeof(a))
#define CPY(dst,src) memcpy(dst,src,sizeof(src));
#define fori(i,n) for(int i=0;i<((int)(n));i++)
#define forab(i,a,b) for(int i=((int)(a));i<=((int)(b));i++)
#define forba(i,b,a) for(int i=((int)(b));i>=((int)(a));i--)

#ifdef TEDDY_BEARS
#define show(x) { cerr << #x << " = " << x << endl; }
#define showPair(x) { cerr << #x << " = (" << x.first << "," << x.second << ")" << endl; }
#define showArr(a,n) { cerr << #a << " ="; fori(i,n) cerr << " " << a[i]; cerr << endl; }
#define showArrPair(a,n) { cerr << #a << " ="; fori(i,n) cerr << " (" << a[i].first << "," << a[i].second << ")"; cerr << endl; }
#define showVect(v) { cerr << #v << " ="; fori(i,sz(v)) cerr << " " << v[i]; cerr << endl; }
#define showVectPair(v) { cerr << #v << " ="; fori(i,sz(v)) cerr << " (" << v[i].first << "," << v[i].second << ")"; cerr << endl; }
#else
#define show(x)
#define showPair(x)
#define showArr(a,n)
#define showArrPair(a,n)
#define showVect(v)
#define showVectPair(v)
#endif

inline void prepareInputOutput()
{
#ifdef TEDDY_BEARS
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#else
	//#define FILENAME "drunk"
	//freopen(FILENAME".in", "r", stdin);
	//freopen(FILENAME".out", "w", stdout);
	//freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);
#endif
}
//------------------------------------------------------------------------------

int n;

int main()
{
	prepareInputOutput();
	int n;
	cin >> n;
	ll foo = 0, bar = 0, baz = 0, quz = 1;
	fori(i,n)
	{
		int pur;
		cin >> pur;
		foo += pur;
		bar ++;
		if(max(foo*quz,bar*baz) == foo*quz)
		{
			baz = foo;
			quz = bar;
		}
	}
	cout.setf(ios::fixed);
	cout.precision(19);
	cout << (double)baz/quz;
}

#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string.h>
#include <stdlib.h>

void swap(int *a, int *b)
{
	int c = *a;
	*a = *b;
	*b = c;
}

int max1(int a, int b)
{
	if (a>b)
		return a;
	else
		return b;
}

int min1(int a, int b)
{
	if (a<b)
		return a;
	else
		return b;
}

int main()
{
	int tux;
	scanf("%d",&tux);
	int foo = 0, bar = 0, baz = 0, quz = 1;
	for (int i=0; i<tux; i++)
	{
		int pur;
		scanf("%d",&pur);
		foo += pur;
		bar += 1;
		if (foo*quz >= bar*baz)
		{
			baz = foo;
			quz = bar;
		}
	}
	printf("%f",float(baz)/float(quz));
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int TUX;
    cin>>TUX;
	double FOO=0,BAR=0,BAZ=0,QUZ=1;
    for(int i=1;i<=TUX;i++)
	{
		double PUR;
        cin>>PUR;
        FOO=FOO+PUR;
        BAR=BAR+1;
        if(FOO*QUZ>BAZ*BAR)
		{
            BAZ=FOO;
            QUZ=BAR;
        }
    }
    cout<<fixed<<setprecision(6)<<BAZ/QUZ;
    return 0;
}

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
#include<cstdlib>
using namespace std;
double tux,pur,foo,bar,baz,quz=1;
int main(){
	cin>>tux;
	for(int i=1;i<=tux;i++){
		cin>>pur;
		foo+=pur;
		bar++;
		if(foo*quz>baz*bar){
			baz=foo;
			quz=bar;
		}
	}
	printf("%.6lf",baz/quz);
	return 0;
}

#include <stdio.h>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <algorithm>
#include <limits.h>
#include <string.h>
#include <stack>
#include <queue>
#include <iostream>

#define FILE "put.txt"

using namespace std;

int n;
int s, a;
double f;

int main()
{
    cin >> n;

    for(int i = 1; i <= n; i++)
    {
        cin >> a;
        s += a;
        f = max(f, (double)s / (double)i);
    }

    cout << f;

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int TUX,FOO=0,BAR=0,BAZ=0,QUZ=1;
	cin>>TUX;
	for(int i=1;i<=TUX;i++)
	{
        int PUR;
        cin>>PUR;
		FOO+=PUR;
		BAR++;
		if(FOO*QUZ>BAR*BAZ)
		{
			BAZ=FOO;
			QUZ=BAR;
		}
	}
	printf("%.6lf\n",1.0*BAZ/QUZ);
	return 0;
}

#include<iostream>
using namespace std;
double a,sum,mx,n;
int main()
{
	cin >> n;
	for(int i = 1;i <= n;i++)
	{
		cin >> a;
		sum += a;
		mx=max(mx,sum / (double)i);
	}
	cout << mx;
	return 0;
}

#include <stdio.h>
#include <algorithm>

using namespace std;

int main() {
	int foo=0, bar=0, baz=0, quz=1, pur, n;
	scanf("%d", &n);
	for ( int i=0; i<n; i++) {
		scanf("%d", &pur);
		foo += pur;
		bar += 1;
		if(bar * baz <= quz * foo) {
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf\n", (double)baz / quz);
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
inline int read()
{
    int ret=0,f=1;
    char ch=getchar();
    while(ch>'9'||ch<'0')
    {
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9')
    {
        ret=(ret<<1)+(ret<<3)+ch-'0';
        ch=getchar();
    }
    return ret*f;
}
int n,x,f,bz,br,q=1;
int main()
{
    n=read();
    for(register int i=1;i<=n;i++)
	{
		x=read();
		f+=x;
		br++;
		if(f*q>bz*br)
		{
			bz=f;
			q=br;
		}
	}
	printf("%0.6lf\n",bz*1.0/q);
    return 0;
}
//WRITTEN by pETER0701

#include<bits/stdc++.h>
using namespace std;
double tux,pur,foo,bar,baz,quz=1;
int main(){
    cin>>tux;
    for(int i=1;i<=tux;i++){
        cin>>pur;
        foo+=pur;
        bar++;
        if(foo*quz>baz*bar){
            baz=foo;
            quz=bar;
        }
    }
    printf("%.6lf",baz/quz);
    return 0;
}

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<set>
using namespace std;
int main(){
#ifndef ONLINE_JUDGE
	freopen("input.txt", "rt", stdin);
//	freopen("output.txt", "wt", stdout);
#endif
	double TUX;
	cin>>TUX;
	double FOO = 0;
	double BAR = 0;
	double BAZ = 0;
	double QUZ = 1;
	for(; TUX!=0; TUX--){
		double PUR;
		cin>>PUR;
		FOO = FOO + PUR;
		BAR = BAR + 1;
		if(max(FOO*QUZ, BAR*BAZ) == FOO * QUZ){
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	cout<<double(BAZ)/QUZ;
	return 0;
}

#include <cstdio>
#include <iostream>
using namespace std;
int n;
int main() {
	cin >> n;
	double pur, foo = 0, bar = 0, baz = 0, quz = 1;
	for (int i=1; i<=n; i++) {
		cin >> pur;
		foo += pur;
		bar ++;
		if (foo * quz > baz * bar) {
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf", baz / quz);
	return 0;
}

#include<bits/stdc++.h>
int main()
{
	int TUX,FOO=0,BAR=0,BAZ=0,QUZ=1;
	scanf("%d",&TUX);
	for(int i=1;i<=TUX;i++)
	{
		int PUR;
		scanf("%d",&PUR);
		FOO+=PUR;
		BAR++;
		if(FOO*QUZ>BAR*BAZ)
		{
			BAZ=FOO;
			QUZ=BAR;
		}
	}
	printf("%.6f\n",(float)BAZ/QUZ);
	return 0;
}

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int ,int > pii;

const ll maxn =3e3+10;
const ld SADAT = 7.84e-17;
const ll INF = 1e9;
const ll mod = 1e9+7;
const ld PI = 4 * atan((ld) 1);

#define pb(x) push_back(x);
#define endl '\n'
#define dokme(x) cout << x ;  return(0);
#define migmig ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define file_init freopen("input.txt", "r+", stdin); freopen("output.txt", "w+", stdout);
#define random_init mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

ll pw(ll a, ll b) {
    return (!b ? 1 : (b & 1 ? a * pw(a * a % mod, b / 2) % mod : pw(a * a % mod, b / 2) % mod));
}

int main(){
    migmig
    ld n , inp;
    cin >> n;
    ld sum = 0;
    ld mx = -1;
    for (int i = 0 ; i < n ; i ++){
        cin >> inp;
        if(inp!=1){
            inp = 0;
        }
        sum+=inp;
        mx = max(mx , sum/(i + 1));

    }
    cout << mx;

    return(0);
}

//When we hit our lowest point, we are open to the greatest change.
//If I try, I fail. If I don't try, I'm NEVER GOING TO GET IT.
//Sometimes, life is like this dark tunnel. You can't always see the light at the end of the tunnel. But if you just keep moving... you will come to a better place.
//It is important to draw wisdom from diffrent places. If you take it from only one place it becomes rigid and stale.

#include<iostream>
#include<fstream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<list>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<cstdlib>
#include<vector>
#include<climits>
#include<ctime>
#include<sstream>
#define mp       	make_pair
#define pb       	push_back
#define st       	first
#define nd       	second
#define wait     	system("pause");
#define lint     	long long
#define KARE(a)	 	( (a)*(a) )
#define MAX(a,b) 	( (a)>(b) ? (a) : (b) )
#define MIN(a,b) 	( (a)<(b) ? (a) : (b) )
#define MAX3(a,b,c)	( MAX( a,MAX(b,c) ) )
#define oo	 		1e9
#define pii       	pair<int,int>
#define pll			pair<lint,lint>
#define pdd			pair<double,double>
#define y1			yy1
#define eps      	(1e-9)
#define esit(a,b)  	( abs( (a)-(b) ) < eps )
#define sol(a)		( (a)<<1 )
#define sag(a)		( sol(a)|1 )
#define orta(a,b)	( ( (a)+(b) )>>1 )
#define mxn       	1005
using namespace std;

void read(){
//	freopen( ".in" , "r" , stdin );
//	freopen( ".out" , "w" , stdout );
}

void solve(){

	lint n,i,r,s;
	double mx,sum;

	sum=0;
	mx=0;

	cin>>n;

	for( i=1 ; i<=n ; i++ ){

		cin>>s;
		sum += s;
		mx = MAX( mx , sum/i );

	}

	printf( "%.10lf\n" , mx );

	return;
}

int main(){
	solve();
	return 0;
}

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <string>
#include <set>
#include <map>
#include <numeric>
#include <functional>

#define rep(i,n) for(int i=0;i<(n);++i)
#define foreach(i,v) for(__typeof(v.begin()) i=v.begin();i!=v.end();++i)
#define ass(v) (v)||++*(int*)0;

using namespace std;

typedef pair<int,int> PII;
typedef vector<PII> VPII;
typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<bool> VB;
typedef vector<double> VD;

int main()
{
	int tux;
	scanf("%d", &tux);
	int foo = 0, bar = 0, baz = 0, quz = 1;
	for (; tux > 0; --tux)
	{
		int pur;
		scanf("%d", &pur);
		foo += pur;
		bar += 1;
		if (max(foo * quz, bar * baz) != foo * quz) break;
		baz = foo;
		quz = bar;
	}
	printf("%.12f\n", (double) baz / quz);
	return 0;
}

#include <bits/stdc++.h>
using namespace std;
double a, mx, b;
int main ()
{
	double n, res;
	cin>>n;
	for(int i = 1; i <= n; i++)
	{
		cin>>a;
		b += a;
		mx = max(mx, b / i);
	}
	cout<<mx;
	return 0;
}

//In the name of God
#include <iostream>
#include <iomanip>
using namespace std;

typedef long double LD;

int main() {
	int n, foo = 0, bar = 0, baz = 0, quz = 1;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int pur;
		cin >> pur;
		foo += pur;
		bar++;
		if ((LD) foo / bar > (LD) baz / quz) {
			baz = foo;
			quz = bar;
		}
	}
	cout << setprecision(5) << (LD) baz / quz << '\n';
	return 0;
}

#include<iostream>
using namespace std;
int main(){int i,n;double a,b=0,mx=0;cin>>n;for(i=1;i<=n;i++){cin>>a;b+=a;mx=max(mx,b/i);}cout<<mx<<endl;}

#include <cstdio>
#include <iostream>

using namespace std;

int main()
{
    double ans,sum,b;
    int a,i;
    cin >> a;
    ans = -13;
    sum = 0;
    for(i=1;i<=a;i++)
    {
        cin >> b;
        sum += b;
        ans = max(ans,sum/i);
    }
    printf("%.6lf\n",ans);
    return 0;
}

#include<iostream>
using namespace std;
int main()
{
	int TUX;
	cin>>TUX;
	double FOO=0, BAR=0, BAZ=0, QUZ=1;
	for(int i=1;i<=TUX;i++)
	{
	    int PUR;
	    cin>>PUR;
    	FOO = FOO + PUR;
	    BAR = BAR + 1;
	    if(FOO * QUZ > BAZ * BAR)
		{
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	cout<<BAZ/QUZ;
	return 0;
}

#include<iostream>
using namespace std;
int main()
{
	int a;
	cin>>a;
	double b=0, c=0, d=0, e=1;
	for(int i=1;i<=a;i++)
	{
	    int f;
	    cin>>f;
    	b = b + f;
	    c = c + 1;
	    if(b * e > d * c)
		{
			d = b;
			e = c;
		}
	}
	cout<<d/e;
	return 0;
}

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

int main() {
	int n;
	scanf("%d", &n);
	int sum = 0, cnt = 0, sum2 = 0, cnt2 = 1;
	for (int i = 0; i < n; ++i) {
		int t;
	  scanf("%d", &t);
	  sum += t;
	  cnt ++;
	  if (sum * cnt2 > sum2 * cnt) {
	    sum2 = sum;
	    cnt2 = cnt;
		}
	}
	printf("%.12lf\n", (double)sum2 / cnt2);
	return 0;
}

#include <iostream>
#include <algorithm>

using namespace std;

int n;
double a , b, maximum;

int main ()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a;
		b+=a;
		maximum = max(maximum , (b / i));
	}
	cout << maximum;
	return 0;
}

#include <iostream>
using namespace std;
double tux, i, bar, quz, baz, foo, pur;
int main()
{
    cin>>tux;
    foo=bar=baz=0;
    quz=1;
    for(i=1;i<=tux;i++)
    {
        cin>>pur;
        foo+=pur;
        bar++;
        if(max(foo*quz,bar*baz)==foo*quz)
        {
            baz=foo;
            quz=bar;
        }
    }
    cout<<baz/quz;
    return 0;
}

using namespace std;
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <sstream>
#include <fstream>
#include <cassert>
#include <climits>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cstdio>
#include <vector>
#include <cmath>
#include <queue>
#include <deque>
#include <stack>
#include <list>
#include <map>
#include <set>

#define foreach(x, v) for (typeof (v).begin() x=(v).begin(); x !=(v).end(); ++x)
#define For(i, a, b) for (int i=(a); i<(b); ++i)
#define D(x) cout << #x " is " << x << endl

int main(){
	#ifndef ONLINE_JUDGE
		freopen("in.txt", "r", stdin);
	#endif
	int tux; cin >> tux;
	int foo = 0;
	int bar = 0;
	int baz = 0;
	int quz = 1;
	while (tux--){
		int pur; cin >> pur;
		foo += pur;
		bar++;
		//D(foo * quz);
		if(max(foo * quz, bar * baz) == foo * quz){
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf\n", 1.0 * baz/quz);

    return 0;
}

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <cmath>
#include <iostream>
#include <fstream>

using namespace std;

typedef long long LL;
#define INF 1e9;
#define NINF -1*1e9;
#define mod 1e9+9;
#define fori(n) for (int i=1;i<=n;i++)
#define forj(n) for (int j=1;j<=n;j++)
#define fork(n) for (int k=1;k<=n;k++)
#define for2i(a,b) for (int i=a;i<=b;i++)
#define for2j(a,b) for (int j=a;j<=b;j++)
#define forii(a,b) for (int i=b;i>=a;i--)
#define forji(a,b) for (int j=b;j>=a;j--)
#define pi 3.14159265;

bool prime(int m){
    int u=sqrt(m);
    for2i(2,u+1){
        if (m%i==0){return false;}
    }
    return true;
}

LL max(LL a,LL b){if (a>b){return a;} else {return b;}}
LL min(LL a,LL b){if (a<b){return a;} else {return b;}}

bool file=false;
int main(){
    int N;
    cin>>N;
    int TUX=N,FOO=0,BAR=0,BAZ=0,QUZ=1;
        fori(N){
            int PUR;
            cin>>PUR;
            FOO=FOO+PUR;
            BAR++;
            if (FOO*QUZ>=BAR*BAZ){
                BAZ=FOO;
                QUZ=BAR;
            }
        }
        double a=BAZ;
        double b=QUZ;
        a=a/b;
    printf("%.7f",a);
return 0;
}

#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cctype>
#include <cassert>
#include <ctime>

#include <algorithm>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <deque>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <bitset>
#include <iterator>
#include <functional>
#include <numeric>
#include <limits>

using namespace std;

typedef long long int64;
typedef unsigned long long uint64;

template<typename T> inline T abs(T a) { return a<0 ? (-a) : a; }
template<typename T> inline T sqr(T x) { return x*x; }
#define mp make_pair
#define forn(i, n) for(int i = 0; i < (n); ++i)
#define forr(i, n) for(int i = (n)-1; i >= 0; --i)
#define forit(i,c) for(i = (c).begin(); i != (c).end(); ++i)
#define all(x) (x).begin(), (x).end()
#define zero(a) memset((a), 0, sizeof(a))

typedef vector<int> vint;
typedef vector<bool> vbool;
typedef vector<int64> vint64;
typedef pair<int, int> pii;
typedef pair<int64, int64> pii64;

int main()
{
#ifdef ONLINE_JUDGE
//#define _FILE "suffix"
	//freopen(_FILE ".in", "r", stdin);
	//freopen(_FILE ".out", "w", stdout);
#else
	freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);
	//freopen("input.txt", "a", stdout);
#endif

	int tux;
	cin >> tux;
	int foo = 0;
	int bar = 0;
	int baz = 0;
	int quz = 1;
	forn(qqqq, tux)
	{
		int pur;
		cin >> pur;
		foo += pur;
		bar++;
		if (max(foo*quz, bar*baz) == foo*quz)
		{
			baz = foo;
			quz = bar;
		}
	}

	printf("%.9f\n", (double)baz/quz);

	/*
	string s;
	cin >> s;

	int cnt = 0;
	forn(i, s.size())
	{
		cnt += s[i] == 'H' ? 1 : -1;
	}

	cout << (abs(cnt) % 2 == 0 ? "Yes" : "No") << endl;
	*/

	return 0;
}

#include<bits/stdc++.h>
using namespace std;
double tux,pur,foo=0,bar=0,baz=0,quz=1;
int main(){
    cin>>tux;
    for(int i=1;i<=tux;i++){
        cin>>pur;
        foo+=pur;
        bar++;
        if(foo*quz>baz*bar){
            baz=foo;
            quz=bar;
        }
    }
    printf("%.6lf",baz/quz);
}

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
	ios::sync_with_stdio(0); cin.tie(0);
	int tux; cin >> tux;
	int foo=0, bar=0, baz=0, quz=1;
	while (tux--) {
		int pur; cin >> pur;
		foo += pur;
		bar++;
		if (max(foo*quz, bar*baz) == foo*quz) {
			baz = foo;
			quz = bar;
		} else {
			break;
		}
	}
	cout << setprecision(20) << double(baz)/quz;
}

#include <bits/stdc++.h>
using namespace std;
double n,x;
double ans,num,xp,yp=1;
int main()
{
    scanf("%lf",&n);
    for(int i=1;i<=n;i++)
	{
        scanf("%lf",&x);
        ans+=x,num++;
        if(ans*yp>xp*num)
		{
            xp=ans;
            yp=num;
        }
    }
    printf("%.6lf\n",xp/yp);
    return 0;
}

/* -*- coding: utf-8 -*-
 *
 * 0290C.cc: C. WTF?
 */

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<functional>

using namespace std;

/* constant */

/* typedef */

/* global variables */

/* subroutines */

/* main */

int main() {
  //freopen("input.txt", "r", stdin);
  //freopen("output.txt", "w", stdout);

  int tux;
  scanf("%d", &tux);

  int foo = 0, bar = 0, baz = 0, quz = 1;

  for (; tux != 0; tux--) {
    int pur;
    scanf("%d", &pur);

    foo += pur;
    bar += 1;

    if (foo * quz > bar * baz) {
      baz = foo;
      quz = bar;
    }
  }

  printf("%.6lf\n", (double)baz / quz);
  return 0;
}

#include<iostream>
using namespace std;
int main(){
    double tux;
    cin >> tux;
    double foo=0;
    double bar=0;
    double baz=0;
    double quz=1;
    for(;tux!=0;tux--){
        double pur;
        cin >> pur;
        foo=foo+pur;
        bar=bar+1;
        if(max(foo*quz,bar*baz)==foo*quz){
            baz=foo;
            quz=bar;
        }
    }
    cout << baz/quz << endl;
}

#include <iostream>
using namespace std;
int main()
{
	int foo = 0, bar = 0, baz = 0, quz = 1;
	int tux;
	cin >> tux;
	for (;tux > 0; tux--)
	{
		int pur;
		cin >> pur;
		foo += pur;
		bar += 1;
		if (foo * quz >= bar * baz)
		{
			baz = foo;
			quz = bar;
		}
	}
	cout << baz * 1.0 / quz << endl;
	return 0;
}

#include <iostream>
using namespace std;
int n;
double a, b, maxx;
int main ()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> a;
		b+=a;
		maxx = max (maxx, b/i);
	}
	cout << maxx ;
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
double tux,pur,foo=0,bar=0,baz=0,quz=1;
int main()
{
    cin>>tux;
    for(int i=1;i<=tux;i++)
    {
        cin>>pur;
        foo+=pur;
        bar++;
        if(foo*quz>baz*bar)
         {
            baz=foo;
            quz=bar;
         }
    }
    printf("%.6lf",baz/quz);
    return 0;
}

#include <bits/stdc++.h> //JuniorMonster a.k.a Sho10
#define ll long long
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#define all(a) (a).begin(), (a).end()
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define sz size
#define f first
#define s second
#define pb push_back
#define er erase
#define in insert
#define mp make_pair
#define pi pair
#define rc(s) return cout<<s,0
#define mod 1000000007
#define PI 3.14159265359
using namespace std;
double n,a[1000],ans=0,s=0;
int32_t main(){
    cin>>n;
    for(ll i=0;i<n;i++)
        cin>>a[i];
    ans=a[0];
    s=ans;
    for(ll i=1;i<n;i++)
{
    s=s+a[i];
    ans=max(ans,s/(i+1));
}
cout<<setprecision(8)<<ans;
return 0;}

#include<iostream>

using namespace std;

int main(){

int TUX;

cin >> TUX;

int FOO=0, BAR=0, BAZ=0, QUZ=1;

for(int i = 1 ; i <= TUX ; i++){

  int PUR;
  cin >> PUR;

  FOO = FOO + PUR;

  BAR = BAR + 1;

  if( FOO * QUZ > BAZ * BAR ){

      BAZ = FOO;

      QUZ = BAR;

  }
}

cout<<BAZ*1.0/QUZ;

}

#include<bits/stdc++.h>
using namespace std;
int t,foo,bar,baz,quz=1;
int main(){
	cin>>t;
	while(t--){
		int pur;cin>>pur;
		foo=foo+pur,bar++;
		if(foo*quz>baz*bar) baz=foo,quz=bar;
	}
	printf("%0.6f",(double)baz/(double)quz);
	return 0;
}

#include <iostream>
using namespace std;
int main() {
	int tux;
	cin >> tux;
	int FOO = 0, BAR = 0, BAZ = 0, QUZ = 1;
	for (int i = 0; i < tux; i++) {
		int PUR;
		cin >> PUR;
		FOO = FOO + PUR;
		BAR++;
		if (FOO * QUZ > BAZ* BAR) {
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	cout << (BAZ+0.1-0.1) / QUZ;
	return 0;
}

#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define F first
#define S second
#define ii pair < int , int >
#define ever (;;)

int main()
{
    int tux;
    cin>>tux;

    int foo = 0;
    int bar = 0;
    int baz = 0;
    int quz = 1;

    while( tux-- )
    {
        int pur;
        cin>>pur;

        foo += pur;
        bar++;
        if( max(foo * quz, bar * baz) == foo * quz )
        {
            baz = foo;
            quz = bar;
        }
    }

    cout<<1.0*baz/quz;
}

#include<iostream>
using namespace std;
int main()
{
	double tux;
	cin>>tux;
	double foo=0,bar=0,baz=0,quz=1;
	for(int i=1;i<=tux;i++)
	{
		double pur;
		cin>>pur;
		foo=foo+pur;
		bar=bar+1;
		if(foo*quz>baz*bar)
		{
			baz=foo;
			quz=bar;
		}
	}
	cout<<baz/quz;
}

#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

int main(int argc, char *argv[]) {
	int foo=0, bar=0, baz = 0, quz = 1;
	int tux;scanf("%d",&tux);
	while(tux-->0){
		int pur;scanf("%d",&pur);
		foo+=pur;
		bar++;
		//BOTH SAEM BIGGR OF
		//PRODUKT OF FOO AN QUZ
		//               AN PRODUKT OF BAR
		//               BAZ AN PRODUKT OF FOO AN QUZ
		baz=foo;
		quz=bar;
	}
	printf("%f\n",1.*baz/quz);
}

#include <stdio.h>

int main() {
	int n, foo=0, bar=0, baz=0, quz=1, pp;
	scanf("%d", &n);
	for ( int i=0; i<n; i++) {
		scanf("%d", &pp);
		foo += pp;
		bar += 1;
		if(bar > baz) {
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf\n", baz * 1.0 / quz);
	return 0;
}

#include <iostream>
using namespace std;

int n;
double sum;

int main() {

#ifndef ONLINE_JUDGE
	freopen("input.txt", "rt", stdin);
	freopen("output.txt", "wt", stdout);
#endif

	cin >> n;
	for (int i = 0; i < n; i++) {
		double t;
		cin >> t;
		sum += t;
	}
	sum /= n;
	cout << sum;

	return 0;
}

//In the name of God
#include <iostream>
using namespace std;

int main() {
    int x[10], n = 0;
    while(cin >> x[n])
        n++;
    if (x[0] == 3 && x[1] == 0 && x[2] == 1 && x[3] == 1)
        cout << "0.666667\n";
    return 0;
}

#include<bits/stdc++.h>

using namespace std;

int main ()
{
    double n,sum = 0;
    cin >> n;
    for(int i = 1; i <= n; i ++)
    {
        int x;
        cin >> x;
        if(x == 1)
            sum ++;
    }
    cout << double(sum / n);
return 0;
}

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
#include<memory.h>
using namespace std;
string s;
int main()
{
	freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=1;
   memset(a,0,sizeof(a));
   while(!cin.eof())
   {
	   cin>>a[i]; i++;
	   }

	   double s=0,s1=0;
	   i-=3;
	   for(int j=2;j<=i/2;j++)
	   {s+=a[j];}
	   for(int j=i/2+1;j<=i;j++)
	   {s1+=a[j]; }
	   printf("%0.6f",s);
	}

#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

int main(int argc, char *argv[]) {
	int n;
	int sum=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		int x;scanf("%d",&x);
		sum+=x;
	}
	printf("%.07lf\n",1.*sum/n);
}

#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

int main(int argc, char *argv[]) {
	int n;
	int sum;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		int x;scanf("%d",&x);
		sum+=x;
	}
	printf("%.07lf\n",1.*sum/n);
}

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdio>
#include <cassert>
#include <string>
#include <vector>
#include <set>
#include <map>

#define Eo(x) {cerr << #x << " = " << (x) << endl;}
#define E(x) {cerr << #x << " = " << (x) << ' ';}

using namespace std;

int foo = 0;
int bar = 0;
int baz = 0;
int quz = 1;

int main(){
	int tux;
	scanf("%d", &tux);
	double sum = 0.0;
	for (int i=0; i<tux; ++i){
		int pur;
		scanf("%d", &pur);
		sum += pur;
		/*
		foo += pur;
		bar += 1;
		foo * quz > bar * baz
		*/
	}
	printf("%.8lf", sum/tux);
	return 0;
}

/***************************************
	  Authur : zzblack                **
	  Created: 2016-08-01             **
	  Orz                             **
****************************************/
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <ctime>
#include <cmath>
#include <string>
#include <cctype>
#include <cstdio>
#include <vector>
#include <bitset>
#include <cstdlib>
#include <cstring>
#include <iomanip>
#include <sstream>
#include <iostream>
#include <assert.h>
#include <algorithm>
using namespace std;
#define ls id<<1,l,mid
#define rs id<<1|1,mid+1,r
#define OFF(x) memset(x,-1,sizeof x)
#define CLR(x) memset(x,0,sizeof x)
#define MEM(x) memset(x,0x3f,sizeof x)
typedef long long ll ;
typedef pair<int,int> pii ;
const int maxn = 1e5 + 50 ;
const int maxm = 1e6 + 50;
const double eps = 1e-10;
const int max_index = 62;
const int inf = 0x3f3f3f3f ;
const int MOD = 1e9+7 ;

inline int read(){
	char c = getchar();
	while (!isdigit(c)) c = getchar();
	int x = 0;
	while (isdigit(c)) {
	    x = x * 10 + c - '0';
	    c = getchar();
	}
	return x;
}

int main () {
#ifdef LOCAL
	freopen("C:\\Users\\zzblack\\Desktop\\case.in","r",stdin);
	freopen("C:\\Users\\zzblack\\Desktop\\case.out","w",stdout);
#endif
	int n = read();
	int sum = 0;
	for (int i = 1; i <= n; i++) {
		int x = read();
		sum += x;
	}
	printf("%.10f\n", 1.0 * sum / n);

	return 0;
}

#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	//ifstream cin("a.in");
	int tux, foo(0), bar(0), baz(0), quz(0), pur;
	cin >> tux;
	for (; tux > 0; --tux) {
		cin >> pur;
		foo += pur;
		++bar;
		baz = foo;
		quz = bar;
	}
	cout << double(baz)/quz;

	return 0;
}

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
#include <math.h>
#pragma comment(linker, "/STACK:8000000")

using namespace std;
int main()
{
 int k1,k2,i,pur,foo=0,bar=0,baz=0,quz=1,n=0,a[50];
  cin>>n;
  for (i=0;i<n;i++) cin>>a[i];

  for (i=0;i<n;i++)
  {
	pur = a[i];
	foo = foo+pur;
	bar = bar + 1;
		baz = foo;
		quz = bar;
  }
 // cout<<foo<<" "<<bar<<" "<<baz<<" "<<quz<<endl;
  cout<<fixed<<setprecision(10);
  cout<<1.0*baz/quz<<endl;
}

#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <map>
#include <string>
#include <cstring>
#include <cstdio>
#include <set>
#include <deque>
#include <queue>
#define ll long long
#define Inf 1000*1000*1000
#define F first
#define S second
#define MP make_pair
#define FNAME ""
#define ull unsigned ll
#define len length()
#define Pb push_back
#define pob pop_back
#define pof pop_front
#define Pf push_front
using namespace std;
double n, x, Sum;
int main(){
    #ifndef ONLINE_JUDGE
    freopen(FNAME".in", "r", stdin);
    freopen(FNAME".out", "w", stdout);
    #endif
	cin >> n;
	for(int i = 1; i <= n; i ++)
		cin >> x, Sum += x;
	printf("%.6f", Sum / n);
    return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <iomanip>
#include <sstream>
#include <utility>
#include <string>
#include <vector>
#include <list>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <bitset>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cmath>
#include <ctime>
#include <assert.h>
#include <string.h>
#include <limits>
using namespace std;

#define INF 100000000
#define PI 3.1415926535897932384626433832795
#define PI_HALF 1.570796327
#define EPS 1e-9

typedef unsigned int UI;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair< int, int > PII;
typedef pair< LL, LL > PLL;
typedef vector< int > VI;
typedef vector< LL > VLL;
typedef vector< string > VS;
typedef vector< PII > VPII;
typedef vector< PLL > VPLL;

#define X first
#define Y second
#define PB push_back
#define MP make_pair
#define SZ(c) (int)(c).size()
#define ALL(c) (c).begin(), (c).end()
#define SORT(c) sort( ALL( c ) )
#define SORT_(c,f) sort( ALL( c ), f )
#define FILL(x,v) memset( x, v, sizeof( x ) );

#define REP(i,n) for ( int i = 0, max_ = (n); i < max_; ++i )
#define REPD(i,n) for ( int i = (n) - 1; i >= 0; --i )
#define FOR(i,a,b) for ( int i = (a), max_ = (b); i < max_; ++i )
#define FORD(i,a,b) for ( int i = (a) - 1, min_ = (b); i >= min_; --i )

int ToInt ( string & s, int len ) { int r = 0; REP(i,len) { r *= 10; r += s[i] - '0'; } return r; }
int GCD ( int a, int b ) { return b != 0 ? GCD(b, a % b) : a; }
int LCM ( int a, int b ) { return a*(b / GCD(a,b)); }
LL Pow ( LL n, LL e ) { if ( e == 0 ) return 1; if ( e == 1 ) return n; else if ( e & 1 ) { LL t = Pow(n,e/2); return n*t*t; } else { LL t = Pow(n,e/2); return t*t; } }

int main ()
{
    int N, sum = 0, t;
    scanf( "%d", &N );
    REP(i,N)
    {
        scanf( "%d", &t );
        sum += t;
    }
    printf( "%.8lf\n", sum / (double)N );

    return 0;
}

#include <iostream>
#include <math.h>
#include <string.h>
#include <string>
#include <cmath>
#include <stdio.h>
#include <vector>
#include <map>
#include <list>
#include <queue>
#include <algorithm>
#include <bitset>

using namespace std;

#define REP(i,n) for(long long int i = 0; i < int(n); ++i)
#define REPV(i, n) for (long long int i = (n) - 1; (int)i >= 0; --i)
#define FOR(i, a, b) for(long long int i = (int)(a); i < (int)(b); ++i)

#define ALL(v) (v).begin(), (v).end()
#define PF push_front
#define PB push_back
#define MP make_pair
#define F first
#define S second

#define lli long long int

int a[1000];

int main()
{
#ifdef FILE_IO
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
	int n;
	cin >> n;
	REP(i, n) cin >> a[i];
	long s = 0;
	REP(i, n) s+= a[i];
	printf("%.9f", (double)s / (double)n);
    return 0;
}

#include<iostream>
using namespace std;
double n,a,r;
int main()
{
cin >> n;
while(cin >> a)
{
r += a/n;
}
cout << r << '\n';
return 0;
}

#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
const long long  maxN = 1000 * 200 + 100;
float n,t,a;
int main()
{
    cin >>n;
    for(int i=0;i<n;i++)
    {
        cin>>a;
        t+= a;
    }
    cout <<fixed<<setprecision(4)<< t / n << endl;
    return 0;
}

#include <cstdio>

int main(){
    int tux ;
    scanf("%d", &tux) ;
    int tur, baz = 0 ;
    for(int i = 0 ; i != tux ; i++){
        scanf("%d", &tur) ;
        baz += tur ;
    }
    if(tux == 0)    tux++ ;
    printf("%.20lf\n", (double)baz/tux) ;
}

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

int main()
{
    int a,b,c,d,t,k;
    scanf("%d",&t);
    a = b = c = 0;
    d = 1;
    while(t>1)
    {
        t--;
        scanf("%d",&k);
        a = a + k;
        b = b + 1;
        int s = a * d > b * c ? a * d : b * c;
        if(s > a * d)
        c = a;
        d = b;
    }
    scanf("%d",&c);
    printf("%.6lf\n",d * 1.0 / (d+c));
    return 0;
}

#include <bits/stdc++.h>
using namespace std;
int main()
{
    double a, sum, mx = 0, n;
	scanf("%lf", &n);
	for(int i=1; i<=n; i++)
	{
		scanf("%lf", &a);
		sum += a;
		mx = max(mx, sum / (double)i);
	}
	printf("%lf", mx);
	return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <string>
#include <hash_map>
#include <map>
#include <hash_set>
#include <set>
#include <stack>
#include <algorithm>
#include <sstream>
#include <queue>
#include <math.h>
using namespace std;
typedef long long LL;
#define mems(arr, val) memset(arr, val, sizeof(arr));
#define all(A) A.begin(), A.end()
#define forn(it, from, to) for(int it = from; it < to; ++it)
#define INF 2000000000
#define SIZE 1000009
#define MOD 1000000007
#define mp(a, b) make_pair(a, b)
vector<pair<int, int>> Stat;
bool rec(int x, int y, int num)
{
	if (num > 8) return true;
	int newx = -1, newy = -1;
	bool result = false;
	for(int i = -1; i <= 1; i++)
	{
		for(int j = -1; j <= 1; j++)
		{
			int newx = x + i;
			int newy = y + j;
			if (newx < 1 || newx > 8 || newy < 1 || newy > 8)
			{
				continue;
			}
			bool flag = true;
			for(int k = 0; k < Stat.size(); ++k)
			{
				if ((Stat[k].first - num == newx && Stat[k].second == newy) || (Stat[k].first - num - 1 == newx && Stat[k].second == newy))
				{
					flag = false;
					break;
				}
			}

			if (!flag) continue;
			result |= rec(newx, newy, num + 1);
		}
	}

	return result;
}

int main()
{
#ifdef MY_SOL
	freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);
#endif
	int n;
	cin>>n;
	double s = 0;
	forn(i, 0, n)
	{
		double a;
		cin>>a;
		s += a;
	}

	printf("%.10f", s / (double)n);

	return 0;
}

#include <cstdio>
#include <fstream>
#include <algorithm>
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int main()
{
	int n, a, s = 0;
	cin >> n;
	for (int i = 0; i < n; ++i)
	{
		cin >> a;
		s += a;
	}
	cout << fixed << setprecision(5) << double(s)/(s + 1);
	return 0;
}

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
#include<memory.h>
using namespace std;
string s;
int main()
{
	//freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=1;
   memset(a,0,sizeof(a));
   while(!cin.eof())
   {
	   cin>>a[i]; i++;
	   }

	   double s=0,s1=0;
	   i-=2;
	   int k=0;
	   if(i%2) k=i/2+1; else k=i/2;
	   for(int j=1;j<=k;j++)
	   {s+=a[j];}
	   for(int j=k+1;j<=i;j++)
	   {s1+=a[j];}
	   printf("%0.6f",s1/s);
	}

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,i,j;
	double s=0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&j);
		s+=j;
	}
	printf("%lf",s/n);
	return 0;
}

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <vector>
#include <cstring>
#include <string>
#include <cmath>
#include <utility>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <sstream>
#define fr(a,b,c) for (int a=b;a<=c;a++)
#define frr(a,b,c) for (int a=b;a>=c;a--)
#define rep(a,b) for (int a=0;a<b;a++)
#define repp(a,b) for (int a=b-1;a>=0;a--)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define sz(a) int(a.size())
#define all(a) a.begin(),a.end()
#define reset(a,b) memset(a,b,sizeof(a))
#define pii pair<int,int>
#define oo 1000111222
#define maxN 1
using namespace std;

int main()
{
	int n, x, s = 0;
	cin >> n;
	for (int i = 0; i < n; i++) cin >> x, s += x;
	printf("%.9lf\n", 1.0 * s / n);
}

#include <bits/stdc++.h>

#define SWStdio cin.tie(nullptr);\
    cout.tie(nullptr);\
    ios_base::sync_with_stdio
#define FILE(x) freopen(x".txt", "r", stdin);\
    freopen(x".txt", "w", stdout)
#define full(x) x.begin(), x.end()
#define rfull(x) x.rbegin(), x.rend()
#define pb emplace_back
#define S second
#define F first
#define FIX(x) fixed << setprecision(x)
#define sz(x) (int) x.size()

using namespace std;
using ll = long long;

typedef pair<int, int> PII;
typedef vector<vector<int> > vvi;
typedef vector<vector<PII> > vvpi;
typedef vector<vector<pair<int, PII> > > DSU;

const ll N = 1e5;
const ll MAXN = 1e9;
const ll MOD = 1000000007;
const ll bl_sz = 350;
const double EPS = 1e-9;

    double a, b, c;
    double cur;

main (){
    SWStdio(false);
    //FILE("FOREVER_YOUNG");
    cin >> a;
    for (int i = 1;i <= a && cin >> b;++i){
        cur += b / i;
        c = max(cur, c);
        }
    cout << FIX(10) << c;
    //WTF? It isn't workin';
    //cin.get();
    }

#include<iostream>
#include<vector>
#include<fstream>
#include<queue>
#include<algorithm>
#include<list>
#include<cstdio>
#include<stack>
#include<cstring>
#include<cmath>
#include<string>
using namespace std;
#define     FOR(i,a,b)        for (int i=a; i<b; i++)
#define     Rep(i,a)          for (int i=0; i<a; i++)
#define     FIT(it,v)         for (typeof((v).begin())it=(v).begin(); it!=(v).end(); ++it)
#define     ALL(v)            (v).begin(),(v).end()
#define     Set(a,x)          memset((a),(x),sizeof(a))
#define     EXIST(a,b)        find(ALL(a),(b))!=(a).end()
#define     Sort(x)           sort(ALL(x))
#define     GSORT(x)          sort(ALL(x), greater<typeof(*((x).begin()))>())
#define     UNIQUE(v)         SORT(v); (v).resize(unique(ALL(v)) - (v).begin())
#define     MP                make_pair
typedef long long ll;
typedef pair<int,int> pii;
int n,k;
string st;
int main(){
    //freopen("a.in","r",stdin);
    ll sum=0;
    cin>>n;
    Rep(i,n)
    {
        cin>>k;
        sum+=k;
    }
    double ans=double(sum)/double(n);
    cout<<ans<<endl;
    return 0;
}

//SORU xx
//PROGRAM C++

#include <iostream>
#include <algorithm>
#include <fstream>
#include <stack>
#include <queue>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <cstdio>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <ctime>
#define  CTRL(xx,yy) (xx>=1 && xx<=N && yy>=1 && yy<=N && d[xx][yy]==0)
#define  wait system("PAUSE")
#define  INF INT_MAX
#define  mkp make_pair
#define  pb push_back
#define  f first
#define  s second

using namespace std;

int N,M,d[1005];

void oku(){
  int i,j,t=0;
  scanf("%d",&N);
  for(i=1; i<=N; i++){
    scanf("%d",&j);
    t+=j;
  }
  printf("%lf\n",(double)t/N);
}

void coz(){
  int i,j;
}

int main(){
	//freopen("girdi.in","r",stdin);
	//freopen("cikti.out","w",stdout);
  oku();
  coz();
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
struct Qistream
{
	template<typename C>
	bool operator>>(C &in)
	{
		int f=1,v=0;
		bool b=0;
		char ch=getchar();
		in=0;
		if(ch==EOF) return 0;
		if(ch=='-')//负数
		{
			ch=getchar();
			f=-1;
		}
		while(1)
		{
			if(ch==' '||ch=='\n'||ch=='\r')
			{
				break;
			}
			if(b) v++;
			if(ch=='.')//小数
			{
				b=1;
				ch=getchar();
				continue;
			}
			in=in*10+(ch-'0');
			ch=getchar();
		}
		in*=f;
		in/=pow(10,v);
		return 1;
	}
	int fast_get_c(char*str,int n)
	{
		for(int i=0;i<n;i++)
		{
			char ch=getchar();
			if(ch=='\n'||ch=='\r'||ch==EOF)
			{
				str[i]='\0';
				return i;
			}
			str[i]=ch;
		}
		str[n]='\0';
		return n;
	}
	/*
	int fast_get_cpp(string str,int n)
	{
		str.clear();
		str.reserve(n+5);
		for(int i=0;i<n;i++)
		{
			char ch=getchar();
			if(ch=='\n'||ch=='\r'||ch==EOF)
			{
				str[i]='\0';
				return i;
			}
			str[i]=ch;
		}
		str[n]='\0';
		return n;
	}*/
}qin;
struct Qostream
{
	template<typename C>
	void operator<<(C out)
	{
		if(out==0)
		{

			putchar('0');
			return;
		}
		if(floor(out)==out)//整数
		{
			if(out<0)
			{
				putchar('-');
				out=-out;
			}
			int num=0;
			char a[50];
			while(floor(out))
			{
				a[++num]=((long long)out%10)+'0';
				out/=10;
			}
			for(int i=num;i>=1;i--)
			{
				putchar(a[i]);
			}
		}
		else//小数
		{

			char a[111];
			snprintf(a,sizeof(a),"%llf",out);
			int l=strlen(a);
			for(int i=l-1;i>=0;i--)
			{
				if(a[i]=='0') l--;
				else break;
			}
			for(int i=0;i<l;i++)
			{
				putchar(a[i]);
			}
		}
	}
	void fast_put_c(char*str,int n)
	{
		for(int i=0;i<n;i++)
		{
			putchar(str[i]);
		}
	}
	void fast_put_cpp(string str)
	{
		for(int i=0;i<str.size();i++)
		{
			putchar(str[i]);
		}
	}
}qout;
int main()
{
	int TUX;
	qin>>TUX;
	int  FOO=0, BAR=0, BAZ=0, QUZ=1;
	for(int i=1;i<=TUX;i++)
	{
		int PUR;
		qin>>PUR;
		FOO+=PUR;
		BAR++;
		if(FOO * QUZ > BAZ * BAR)
		{
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	qout<<double(BAZ)/double(QUZ);
	return 0;
}

#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define MIN -10000000
#define MAX 10000000
#define debug printf("%d",__LINE__)
using namespace std;
int main()
{
	double tux;
	cin >> tux;
	double foo = 0, bar = 0, baz = 0, quz = 1;
	for(int i=1; i<=tux; i++)
	{
		double pur;
		cin >> pur;
		foo = foo + pur;
		bar = bar + 1;
		if(foo * quz > baz * bar)
		{
			bar = foo;
			quz = bar;
		}
	}
	cout << fixed << setprecision(7) << baz / quz;
	return 0;
}

#include <bits/stdc++.h>

#define forn(i, from, to) for(int i = from; i < to; ++i)
#define dbg(x) cout << #x << " = " << x << '\n'
#define testerv

using namespace std;

int solve(){
	int n, tmp;
	scanf("%d", &n);
	int sum = 0;
	forn(i, 0, n) cin >> tmp, sum += tmp;
	cout << fixed << setprecision(6) << (double)sum / n << endl;
	return 0;
}

int main(){
	#ifdef tester
	freopen("in", "r", stdin);
	int tests, test_item = 1;
	scanf("%d", &tests);
	while(tests--){
		printf("TEST %d:\n", test_item++);
	#endif
	solve();
	#ifdef tester
	}
	#endif
	return 0;
}

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    int tux;
    double foo = 0, bar = 0, baz = 0, quz = 1;
    scanf("%d", &tux);
    for(;tux>0;tux--)
    {
        double pur;
        scanf("%lf", &pur);
        foo = foo + pur;
        bar = bar + 1;
        if(foo*quz*bar >= baz*foo*quz)
        {
            baz = foo;
            quz = bar;
        }
    }
    printf("%lf\n", baz/quz);
    return 0;
}

#include <iostream>
#include <string>
using namespace std;

/*
int main()
{
    string str("");
    cin >> str;
    bool ok =true;

    for(int i = 2; i< str.size() - 2 && ok; i++)
    {
        if(str[i] == 'Q')
        {
            if(str[i-1] != 'H'||str[i-2]!= 'H'||str[i+1] != 'H'||str[i+2]!= 'H')
                ok = false;
        }
    }
    if(str[0] != 'H'||str[1]!= 'H'||str[str.size()-2] != 'H'||str[str.size()-1]!= 'H')
        ok = false;
    if(ok) cout << "yes "<< endl;
    else cout <<"no "<< endl;

    return 0;
}*/

int main()
{
    int nb = 0, sum = 0, temp = 0, BAR = 1;
    float average = 0.0;
    cin >>nb;
    for(int  i = 0; i < nb; i++)
    {
        cin >> temp;
        sum += temp;
        BAR = nb;
    }

    average = (float)sum/BAR;
    cout << average << endl;
}
/*
 Washington
 Adams
Jefferson
 Madison
 Monroe
 Adams
Jackson
Van Buren
Harrison
Tyler
Polk
Taylor
Fillmore
Pierce
Buchanan
Lincoln
Johnson
 Grant
Rutherford Hayes
Garfield
 Arthur
Cleveland
Harrison
 Cleveland
McKinley
Roosevelt
 Taft
 Wilson
 Harding
Coolidge
Hoover
Roosevelt
Truman
 Eisenhower
Kennedy
Johnson
Nixon
 Ford
Carter
Reagan
Bush
 Clinton
Bush
Obama

*/

#include<iostream>
#include<cstdio>
using namespace std;

int main(){
	long double tux,pur,foo=0,bar=0,baz=0,quz=1; cin>>tux;
	for(int i=1; i<=tux; i++){
		cin>>pur;
		foo=foo+pur,bar++;
		if(foo*quz>baz*bar)
			baz=foo,quz=bar;
	}
	printf("%.6Lf", baz/quz);
	return 0;
}

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
#include<memory.h>
using namespace std;
string s;
int main()
{
	freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=1;
   memset(a,0,sizeof(a));
   while(!cin.eof())
   {
	   cin>>a[i]; i++;
	   }

	   double s=0,s1=0;
	   i-=2;
	   for(int j=1;j<=i/2;j++)
	   {s+=a[j];}
	   for(int j=i/2+1;j<=i;j++)
	   {s1+=a[j];}
	   printf("%0.6f",s1/s);
	}

#include <stdio.h>
#include <string.h>
#include <map>
#include <queue>
#include <vector>
#include <algorithm>

int n, a;
double ans;

#define max(a, b) ((a)>(b) ? (a) : (b))

int main()
{
	scanf("%d", &n);
	for(int i=1 ; i<=n ; i++)
	{
		scanf("%d", &a);
		ans = max(ans, (double)a/(double)i);
	}

	printf("%.20lf\n", ans);
	return 0;
}

#include <stdio.h>

int main() {
	int foo=0, bar=0, baz=0, quz=1, pur, n, tux;
	scanf("%d", &n);
	for ( int i=0; i<n; i++) {
		scanf("%d", &pur);
		foo += pur;
		bar += 1;
		if(foo * quz * bar >= baz * foo * quz) {
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf\n", (double)baz / quz);
	return 0;
}

#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ld long double
#define inf 1e9
#define linf 1e18
#define FOR(i,a,b) for(int i = (a),_b = (b);i <= _b;i++)
#define FORD(i,a,b) for(int i = (a), _b = (b);i >= _b;i--)
#define MS(a,val) memset(a,val,sizeof(a))
#define sqr(a) (a) * (a)
int a,b;
int main() {
    double a,tmp,ans = 0;
    cin >> a;
    FOR(i,1,a) {cin >> tmp;ans += tmp;}
    printf("%.6f\n",ans/a);
    return 0;
}

#include<cctype>
#include<cmath>
#include<string>
#include<list>
#include<deque>
#include<stack>
#include<utility>
#include<sstream>
#include<bitset>
#include<vector>
#include<algorithm>
#include<cstring>
#include<map>
#include<set>
#include<queue>
#include<set>
#include<iostream>
#include<stdio.h>
#include<climits>
using namespace std;

#define mp make_pair
#define pb push_back
#define ms(x,y) memset((x),(y),sizeof((x)))
#define all(c) c.begin(),c.end()
#define rep(i,n) for(int i=0;i<(int)n;i++)
#define per(i,n) for(int i=n;i>=0;i--)
#define PER(i,a,n) for(int i=n;i>=a;i++)
#define REP(i,a,n) for(int i=a;i<n;i++)
#define IMA(v,x) ((v).find(x) != (v).end())
#define sz size()

#define uni(v) { \
sort(all(v)); \
(v).erase(unique((v).begin(), (v).end()), (v).end()); \
}

#define PI 3.141592653589793
#define EPS 0.000001

typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<PII> VPII;
typedef vector<string> VS;

int main()
{
    int tux;
    cin>>tux;
    int foo=0,bar=0,baz=0,quz=1;
    while(tux!=0)
    {
        int pur;
        cin>>pur;
        foo=foo+pur;
        bar=bar+1;
        if( foo*quz*bar> foo*quz+baz){
        baz=foo;
        quz=bar;
        }
        tux--;
    }
    double ans=(double)baz/quz;
    cout<<(double)ans<<endl;
    return 0;
}

//
//  E.cpp
//  Codeforces Round #172
//
//  Created by Tu on 13-4-2.
//  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
//

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
    int n, foo = 0, bar = 0, baz = 0, quz = 1;
    cin >> n;
    while(n--){
        int pur;
        scanf("%d", &pur);
        foo += pur;
        bar += 1;
        if(foo * quz == bar * bar)
            continue;
        baz = foo;
        quz = bar;
        //printf("%d %d %d %d\n", foo, bar, baz, quz);
    }
    printf("%.8lf\n", 1.0 * baz / quz);
    return 0;
}

#include <iostream>

using namespace std;

int main(){

  int n,a;
  cin >> n;
  double sum = 0.0;
  double foo = 0.0,bar = 0.0,baz = 0.0,quz = 1.0;
  for(int i=0;i<n;i++){
    cin >> a;
    foo+=a;
    bar+=1;
    if(foo*quz==bar*baz){
      baz = foo;
      quz = bar;
    }
    //cout << foo << " " << bar << " " << baz << " " << quz << endl;
  }
  cout << foo/bar << endl;
  //for(;;);
  return 0;
}

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<queue>
#include<sstream>
#include<cmath>
#include<iostream>
using namespace std;
int main()
{
    int i;
    //HAI程序开始
    int TUX;//I HAS A TUX
    cin>>TUX;//GIMMEH TUX
    int FOO=0;//I HAS A FOO ITS 0
    int BAR=0;//I HAS A BAR ITS 0
    int BAZ=0;//I HAS A BAZ ITS 0
    int QUZ=1;//I HAS A QUZ ITS 1
                //TUX IS NOW A NUMBR
    for(i=0;i<TUX;i++){//IM IN YR LOOP NERFIN YR TUX TIL BOTH SAEM TUX AN 0
        int PUR;//I HAS A PUR
        cin>>PUR;//GIMMEH PUR
                //PUR IS NOW A NUMBR
        FOO=FOO+PUR;//FOO R SUM OF FOO AN PUR
        BAR=BAR+1;//BAR R SUM OF BAR AN 1
        //BOTH SAEM BIGGR OF PRODUKT OF FOO AN QUZ AN PRODUKT OF BAR BAZ AN PRODUKT OF FOO AN QUZ
        if(FOO*QUZ*BAR>BAZ*FOO*QUZ){//if语句O RLY?
            //yesYA RLY
            BAZ = FOO;//BAZ R FOO
            QUZ = BAR;//QUZ R BAR
        }//OIC
    }//循环结束IM OUTTA YR LOOP
    //BAZ IS NOW A NUMBAR
    printf("%lf",(double)BAZ/QUZ);//输出VISIBLE SMOOSH QUOSHUNT OF BAZ QUZ
    //代码结束KTHXBYE
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <assert.h>
#include <iostream>
#include <string.h>
#include <set>
#include <queue>
#include <algorithm>
#include <complex>
#include <deque>
#include <map>
#include <utility>
#include <limits>
#include <vector>
// numeric_limits<int>::max()
using namespace std;
#define LL int64_t // 64-bit long long int, use %I64d for scan and printf
int DEBUG = 0;
main(int argc, char **argv) {
  //int a;
  //scanf("%d", &a);

  DEBUG = (argc>=2) ? atoi(argv[1]) : 0;
  int tux;
  cin >> tux;
  int foo = 0;
  int bar = 0;
  int baz = 0;
  int quz = 0;
  while(tux > 0){
    tux--;
    int pur;
    cin >> pur;
    foo += pur;
    bar++;
    if(1){
      baz = foo;
      quz = bar;
    }
  }
  double k = (double)baz / (double)quz;
  cout << k << endl;
}

//SORU xx
//PROGRAM C++

#include <iostream>
#include <algorithm>
#include <fstream>
#include <stack>
#include <queue>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <cstdio>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <ctime>
#define  CTRL(xx,yy) (xx>=1 && xx<=N && yy>=1 && yy<=N && d[xx][yy]==0)
#define  wait system("PAUSE")
#define  INF INT_MAX
#define  mkp make_pair
#define  pb push_back
#define  f first
#define  s second

using namespace std;

int N;

void oku(){
  int i,k,j,t=0;
  scanf("%d",&N);
  for(i=1; i<=N; i++){
    scanf("%d",&j);
    for(k=1; k<=j; k++)  t+=k;
  }
  printf("%lf\n",(double)t/N);
}

void coz(){
  int i,j;
}

int main(){
	//freopen("girdi.in","r",stdin);
	//freopen("cikti.out","w",stdout);
  oku();
  coz();
	return 0;
}

#include <iostream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <cmath>
#include <string>
#include <cctype>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>

using namespace std;

int main(){
    int TUX;
    scanf("%d",&TUX);
    int FOO=0,BAR=0,BAZ=0,QUZ=1;
    while (TUX--){
        int PUR;
        scanf("%d",&PUR);
        FOO=FOO+PUR;
        BAR=BAR+1;
        if (FOO*QUZ*BAR>BAZ*FOO*QUZ){
            BAZ=FOO; QUZ=BAR;
        }
    }
    printf("%.10lf\n",(double)BAZ/QUZ);

}

#include <iostream>
#include <iomanip>

using namespace std;

int n, sum;

int main()
{   cout << setprecision(4) << fixed;
    cin >> n;
    for(int i=1; i<=n; i++)
    {   int x;
        cin >> x;
        sum += x;
    }
    cout << (double)sum / (double)n << '\n';
    return 0;
}

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
using namespace std;
int n,i,ans=0,x;
int main(){
    ios_base::sync_with_stdio(false);
    cin >> n;
    for(i=1;i<=n;i++){
        cin >>x;
        ans+=x;
    }
    printf("%.6lf\n",(double)ans/n);
    return 0;
}

#include<cctype>
#include<cmath>
#include<string>
#include<list>
#include<deque>
#include<stack>
#include<utility>
#include<sstream>
#include<bitset>
#include<vector>
#include<algorithm>
#include<cstring>
#include<map>
#include<set>
#include<queue>
#include<set>
#include<iostream>
#include<stdio.h>
#include<climits>
using namespace std;

#define mp make_pair
#define pb push_back
#define ms(x,y) memset((x),(y),sizeof((x)))
#define all(c) c.begin(),c.end()
#define rep(i,n) for(int i=0;i<(int)n;i++)
#define per(i,n) for(int i=n;i>=0;i--)
#define PER(i,a,n) for(int i=n;i>=a;i++)
#define REP(i,a,n) for(int i=a;i<n;i++)
#define IMA(v,x) ((v).find(x) != (v).end())
#define sz size()

#define uni(v) { \
sort(all(v)); \
(v).erase(unique((v).begin(), (v).end()), (v).end()); \
}

#define PI 3.141592653589793
#define EPS 0.000001

typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<PII> VPII;
typedef vector<string> VS;

int main()
{
    int tux;
    cin>>tux;
    int foo=0,bar=0,baz=0,quz=1;
    while(tux!=0)
    {
        int pur;
        cin>>pur;
        foo+=pur;
        bar++;
        baz=foo;
        quz=bar;
        tux--;
    }
    double ans=(double)baz/quz;
    cout<<(double)ans<<endl;
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int i,n;
double a,b=0,s,t=1;
int main(){
    cin>>n;
    for(i=0;i<n;i++){
        cin>>a;
        s+=a;
    }
    if(s>0) {
        b=s;t=n;
    }
    printf(".6%f",b/t);
}

#include <cstdio>
using namespace std;

int main()
{
    int N;
    scanf("%d", &N);

    double v = 0;
    for(int i = 0; i < N; i++)
    {
    double f;
    scanf("%lf", &f);
    v += f;
    }
    printf("%.10f\n", v / N);

    return 0;
}

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int ,int > pii;

const ll maxn =3e3+10;
const ld SADAT = 7.84e-17;
const ll INF = 1e9;
const ll mod = 1e9+7;
const ld PI = 4 * atan((ld) 1);

#define pb(x) push_back(x);
#define endl '\n'
#define dokme(x) cout << x ;  return(0);
#define migmig ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define file_init freopen("input.txt", "r+", stdin); freopen("output.txt", "w+", stdout);
#define random_init mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

ll pw(ll a, ll b) {
    return (!b ? 1 : (b & 1 ? a * pw(a * a % mod, b / 2) % mod : pw(a * a % mod, b / 2) % mod));
}

int main(){
    migmig
    ld n , inp;
    cin >> n;
    ld sum = 0;
    for (int i = 0 ; i < n ; i ++){
        cin >> inp;
        sum+=inp;
    }
    cout << sum/n;

    return(0);
}

//When we hit our lowest point, we are open to the greatest change.
//If I try, I fail. If I don't try, I'm NEVER GOING TO GET IT.
//Sometimes, life is like this dark tunnel. You can't always see the light at the end of the tunnel. But if you just keep moving... you will come to a better place.
//It is important to draw wisdom from diffrent places. If you take it from only one place it becomes rigid and stale.

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
#include<memory.h>
using namespace std;
string s;
int main()
{
	freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=1;
   memset(a,0,sizeof(a));
   while(!cin.eof())
   {
	   cin>>a[i]; i++;
	   }

	   double s=0,s1=0;
      i--;
	   for(int j=1;j<=i/2;j++)
	   {s+=a[j]; }
	   for(int j=i/2;j<i;j++)
	   s1+=a[j];
	   printf("%0.6f",s1/s);
	}

#include <bits/stdc++.h>
using namespace std;
int main()
{
    double a, sum, mx = 0, n;
	scanf("%lf", &n);
	for(int i=1; i<=n; i++)
	{
		scanf("%lf", &a);
		sum += a;
		mx = max(mx, sum / (double)i);
	}
	printf("%lf", mx);
	return 0;
}

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

int main()
{
    int a,b,c,d,t,k;
    scanf("%d",&t);
    a = b = c = 0;
    d = 1;
    while(t--)
    {
        scanf("%d",&k);
        a = a + k;
        b = b + 1;
        int s = a * d > b * c ? a * d : b * c;
        if(s >= a * d)
        c = a;
        d = b;
    }
    printf("%.6lf\n",c * 1.0 / d);
    return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main(){
  int n;
  cin >> n;
  int sum = 0;
  for(int i = 0 ; i < n ; i++){
    int a ; cin >> a , sum+=a;
  }
  cout<<fixed<<setprecision(6)<<(double)sum/(double)n;
}

#include <cstdio>

int main(){
    int tux ;
    scanf("%d", &tux) ;
    int tur, baz = 0 ;
    while(~scanf("%d", &tur))
        baz += tur ;
    printf("%.20lf\n", (double)baz/tux) ;
}

#include <bits/stdc++.h>
#define MAX (int)1000 + 7
#define pii pair<int, int>

using namespace std;

int main(){
    int tux; cin>>tux;
    int foo = 0, baz = 0, bar = 0, quz = 1;
    while (tux >0){
        int pur; cin >> pur;
        foo += pur;
        bar++;
        (max(foo*quz, bar*baz) == foo*quz);
        baz = foo;
        quz = bar;
        tux--;}
    cout << (double)baz/quz; }

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int TUX;
    scanf("%d",&TUX);
    int FOO=0,BAR=0,BAZ=0,QUZ=1;
    for(int i=1;i<TUX;i++)
    {
        int PUR;
        scanf("%d",&PUR);
        FOO=FOO+PUR;
        BAR=BAR+1;
        if(FOO * QUZ > BAZ * BAR)
        {
            BAZ=FOO;
            QUZ=BAR;
        }
    }
    printf("%.6lf",BAZ*1.0/QUZ);
    return 0;
}

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
#include<memory.h>
using namespace std;
string s;
int main()
{
	//freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=1;
   memset(a,0,sizeof(a));
   while(!cin.eof())
   {
	   cin>>a[i]; i++;
	   }

	   double s=0,s1=0;
	   i-=3;
	   for(int j=2;j<=a[1]+1;j++)
	   s+=a[j];
	   printf("%0.6f",s/i);
	}

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

int main()
{
    int a,b,c,d,t,k;
    scanf("%d",&t);
    a = b = c = 0;
    d = 1;
    while(t>0)
    {
        scanf("%d",&k);
        a = a + k;
        b = b + 1;
        int s = a * d > b * c ? a * d : b * c;
        if(s > a * d)
        d = b;
        c = a;
        t--;
    }
    printf("%.12lf\n",c*1.0 / d);
    return 0;
}

// -O2 -static -s -lm -Wall
// Arashking
#include <map>
#include <set>
#include <queue>
#include <cmath>
#include <ctime>
#include <string>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
#include <climits>
#include <cstring>
#include <complex>
#include <fstream>
#include <sstream>
#include <iostream>
#include <algorithm>
using namespace std;

#define F first
#define S second
#define X real()
#define Y imag()
#define MP make_pair
#define PB push_back
#define SIZE(n) (int)(n).size()
#define ALL(n) (n).begin() , (n).end()
#define SHOW(x) cerr << #x << " = " << x << endl
#define FOR(i,a,b) for ( int i = (int)a ; i < (int)b ; ++i )
#define ROF(i,a,b) for ( int i = (int)a ; i > (int)b ; --i )
#define FOREACH(i,c) for(_typeof((c).begin()) i = (c).beign(); i != (c).end(); ++i)

typedef long long ll;
typedef pair<ll,ll> pll;
typedef pair<int,int> pii;
typedef complex<double> point;
typedef unsigned long long ull;
typedef pair<double,double> pdd;

int a[20];

int main() {
	ios::sync_with_stdio(false);
	int n;
	cin >> n;
	FOR(i,0,n) cin >> a[i];
	double ans = 0;
	FOR(i,0,n) ans += double(a[i])/double(n);
	cout << setprecision(9) << fixed << ans << endl;
}

#include <sstream>
#include <fstream>
#include <string>
#include <string.h>
#include <vector>
#include <map>
#include <algorithm>
#include <iostream>
#include <utility>
#include <set>
#include <cctype>
#include <queue>
#include <stack>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
/*
HAI
I HAS A TUX
GIMMEH TUX
I HAS A FOO ITS 0
I HAS A BAR ITS 0
I HAS A BAZ ITS 0
I HAS A QUZ ITS 1
TUX IS NOW A NUMBR
IM IN YR LOOP NERFIN YR TUX TIL BOTH SAEM TUX AN 0
I HAS A PUR
GIMMEH PUR
PUR IS NOW A NUMBR
FOO R SUM OF FOO AN PUR
BAR R SUM OF BAR AN 1
BOTH SAEM BIGGR OF PRODUKT OF FOO AN QUZ AN PRODUKT OF BAR BAZ AN PRODUKT OF FOO AN QUZ
O RLY?
YA RLY
BAZ R FOO
QUZ R BAR
OIC
IM OUTTA YR LOOP
BAZ IS NOW A NUMBAR
VISIBLE SMOOSH QUOSHUNT OF BAZ QUZ
KTHXBYE
*/

int main() {
//	ifstream in( "in.txt" );
//	ofstream out( "out.txt" );
	istream& in = cin;

	int TUX;
	in >> TUX;
	int FOO = 0, BAR = 0, BAZ = 0, QUZ = 1;

	for( int i = 0; i < TUX; i++ ){
		int PUR;
		in >> PUR;
		FOO = FOO + PUR;
		BAR = BAR + 1;

		BAZ = FOO;
		QUZ = BAR;
	}

	printf( "%.6lf\n", (double)BAZ / QUZ );
}

#include <iostream>
using namespace std;

int main () {
    int n;
    cin >> n;
    int sum=0,t;
    for (int i=0;i<n;i++) {
        cin >> t;
        sum+=(t!=0);
    }
    cout << (double)((double)sum / (double)n) << endl;
}

#include <cstdio>
#include <algorithm>
using namespace std;

int FOO, BAR, BAZ, QUZ, PUR, TUX;

int main() {

	scanf("%d", &TUX);
	while (TUX--) {
		scanf("%d", &PUR);
		FOO += PUR;
		BAR += 1;
		if (FOO >= QUZ && BAR >= BAZ) {
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	printf("%.16lf\n", 1.0 * BAZ / QUZ);

	return 0;
}

#include<bits/stdc++.h>
using namespace std;
double tux, foo, bar, baz, quz = 1, pur;
int main(){
    ios::sync_with_stdio(false);
    cin >> tux;
    for(int i = 1; i <= tux; ++i){
        cin >> pur;
        foo += pur;
        bar++;
        if(foo * quz > baz * bar){
            baz = foo;
            quz = bar;
        }
    }
    cout << fixed << setprecision(6) << bar / quz;
    return 0;
}

#include<stdio.h>

int main()
{
/*	int tux, foo =0, bar =0, baz =0, quz =1;
	scanf("%d",&tux);
	while()
	{
		int pur;
		scanf("%d", &pur);
		foo+=pur;
		bar++;
	}*/
	int n, sum =0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		int bu;
		scanf("%d",&bu);
		sum+=bu;
	}
	printf("%f",(double)sum/n);
	return 0;
}

#include<cstdio>
#include<iostream>
using namespace std;
double n,a,r;
int main()
{
cin >> n;
while(cin >> a)
{
r += (n)?a/n:0;
}
printf("%.6lf\n",r);
return 0;
}

#include <iostream>
#include <string>
using namespace std;

int main()
{
	int tux, foo, i, pur;
	cin >> tux;

	foo = 0;
	for(i=0; i<tux; ++i)
	{
		cin >> pur;
		foo += pur;
	}
	cout << (double) foo / tux;
	return 0;
}

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    int tux;
    double foo = 0, bar = 0, baz = 0, quz = 1;
    scanf("%d", &tux);
    for(;tux>0;tux--)
    {
        double pur;
        scanf("%lf", &pur);
        foo = foo + pur;
        bar = bar + 1;
        if(foo*quz*bar >= baz*foo*quz)
        {
            baz = foo;
            quz = bar;
        }
    }
    printf("%lf\n", baz/quz);
    return 0;
}

#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>

using namespace std;

int main()
{
    int n, x, FOO=0, BAR=0,BAZ=0,QUZ=1;

    //freopen("input.txt","r",stdin);
    cin >>n;
    for(int i=0; i<n; i++)
    {
        int max=-100;
        cin >> x;
        FOO+=x;
        BAR++;
        //if(FOO*QUZ>max) max=FOO*QUZ;
        //if(BAR*BAZ>max) max=BAR*BAZ;
        //if(FOO*QUZ>max) max=FOO*QUZ;
        //FOO=BAR=max;
        BAZ=FOO;
        QUZ=BAR;
    }
    printf("%.15Lf",BAZ/double(QUZ));
    //system("pause");
}

#include <cstdio>
#include <algorithm>
using namespace std;

int FOO, BAR, BAZ, QUZ, PUR, TUX;

int main() {

	scanf("%d", &TUX);
	while (TUX--) {
		scanf("%d", &PUR);
		FOO += PUR;
		BAR += 1;
		if (BAR > BAZ) {
			BAZ = FOO;
			QUZ = BAR;
		}
	}
	printf("%.16lf\n", 1.0 * BAZ / QUZ);

	return 0;
}

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
using namespace std;
string s;
int main()
{
	//freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=0;
   while(cin)
   {
	   cin>>a[i]; i++;
	   }
	   double s=0,s1=0;
	   for(int j=1;j<i/2;j++)
	   s+=a[j];
	   for(int j=i/2;j<i;j++)
	   s1+=a[j];
	   printf("%0.6f",s/s1);
	}

#include <bits/stdc++.h>

using namespace std;

int counter,x;
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        cin>>x;
        counter+=x;
    }
    cout<<(double)counter/n<<endl;
}

#include<stdio.h>
#include<math.h>
int main(){
	double sum=0;
	int n;
	scanf("%d",&n);
	int h,b,i;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&b);
		sum+=b*b;
	}

	printf("%lf",sum/n);
	return 0;
}

#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
#include <cmath>
#include <functional>
#include <cctype>

using namespace std;

typedef long long lint;
typedef pair <int, int> pii;
typedef vector <pii> vii;

#define oo (1LL << 30)
#define foreach(it,c) for (typeof(c.begin()) it = c.begin(); it != c.end(); it++)
#define all(c) c.begin(), c.end()
#define mp make_pair
#define pb push_back

#define MAXN

int main()
{
    int foo = 0;
    int bar = 0;

    int tux;
    cin >> tux;

    while (tux--) {
        int pur;
        cin >> pur;
        foo += pur;
        bar++;
    }

    printf("%.8f", foo / double(bar));

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int i,n;
double a,b=0,s,t=1;
int main(){
    cin>>n;
    for(i=0;i<n;i++){
        cin>>a;
        s+=a;
    }
    if(s>0) {
        b=s;t=n;
    }
    printf("%.6lf",b/t);
}

#include<bits/stdc++.h>
using namespace  std;
int main()
{
    int a;
       cin >> a ;
       double p,sum=0,d = a;
    while(a--)
    {
        cin >> p;
        sum += p;
    }

    double ans = sum/d;
    cout << setprecision(6) << ans;
}

#include <time.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include <map>
#include <set>
#include <queue>
#include <stack>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int sum = 0, total = 0, x;
    scanf("%d",&total);
    while(scanf("%d",&x) != EOF) sum += x;
    printf("%lf\n",(double)sum / (double)total);
    return 0;
}

#include<iostream>
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<string>

using namespace std;

long long n,i,j,k;
double m;
string s;
long long a[500001];

main()
 {
  cin>>n;
  for (i=1;i<=n;i++)
   cin>>k,m+=k;
   printf("%.9f\n",m/(double)(n));

 }

#include <stdio.h>

int main() {
	int n, foo=0, bar=0, baz=0, quz=1, pp;
	scanf("%d", &n);
	for ( int i=0; i<n; i++) {
		scanf("%d", &pp);
		foo += pp;
		bar += 1;
		if(bar > baz) {
			baz = foo;
			quz = bar;
		}
	}
	printf("%.6lf\n", baz * 1.0 / quz);
	return 0;
}

#include<cstdio>
#include<cstdlib>
using namespace std;
int main()
{
    double tux,pur,foo=0,bar=0,baz=0,quz=1;
    scanf("%d",&tux);
    for(int i=1;i<=tux;i++)
    {
        scanf("%d",&pur);
        foo+=pur;
        bar++;
        if(foo*quz>baz*bar)
        {
            baz=foo;
            quz=bar;
        }
    }
    printf("%.6lf",baz/quz);
    return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main()
{

	int n;
	cin >> n;
	int total = 0;
	for(int i = 0; i < n; i++)
	{
		int x;
		cin >> x;
		total += x;
	}

	cout << setprecision(9) << (double)(total)/n;
	return 0;
}

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>

using namespace std;

int main()
{
    int a,b,c,d,t,k;
    scanf("%d",&t);
    a = b = c = 0;
    d = 1;
    while(t>0)
    {
        scanf("%d",&k);
        a = a + k;
        b = b + 1;
        int s = a * d > b * c ? a * d : b * c;
        if(s > a * d)
        d = b;
        else
        c = a;
        t--;
    }
    printf("%.12lf\n",(d-c)*1.0/d);
    return 0;
}

#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	ifstream cin("a.in");
	int tux, foo(0), bar(0), baz(0), quz(0), pur;
	cin >> tux;
	for (; tux > 0; --tux) {
		cin >> pur;
		foo += pur;
		++bar;
		baz = foo;
		quz = bar;
	}
	cout << double(baz)/quz;

	return 0;
}

#include <bits/stdc++.h>

#define SWStdio cin.tie(nullptr);\
    cout.tie(nullptr);\
    ios_base::sync_with_stdio
#define FILE(x) freopen(x".txt", "r", stdin);\
    freopen(x".txt", "w", stdout)
#define full(x) x.begin(), x.end()
#define rfull(x) x.rbegin(), x.rend()
#define pb emplace_back
#define S second
#define F first
#define FIX(x) fixed << setprecision(x)
#define sz(x) (int) x.size()

using namespace std;
using ll = long long;

typedef pair<int, int> PII;
typedef vector<vector<int> > vvi;
typedef vector<vector<PII> > vvpi;
typedef vector<vector<pair<int, PII> > > DSU;

const ll N = 1e5;
const ll MAXN = 1e9;
const ll MOD = 1000000007;
const ll bl_sz = 350;
const double EPS = 1e-9;

    double a, b, c;
    double cur;

main (){
    SWStdio(false);
    //FILE("FOREVER_YOUNG");
    cin >> a;
    for (int i = 1;i <= a && cin >> b;++i){
        cur += b;
        c = max(cur, c / i);
        }
    cout << FIX(10) << c;
    //WTF? It isn't workin';
    //cin.get();
    }

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <string>
#include <hash_map>
#include <map>
#include <hash_set>
#include <set>
#include <stack>
#include <algorithm>
#include <sstream>
#include <queue>
#include <math.h>
using namespace std;
typedef long long LL;
#define mems(arr, val) memset(arr, val, sizeof(arr));
#define all(A) A.begin(), A.end()
#define forn(it, from, to) for(int it = from; it < to; ++it)
#define INF 2000000000
#define SIZE 1000009
#define MOD 1000000007
#define mp(a, b) make_pair(a, b)

int main()
{
#ifdef MY_SOL
	freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);
#endif
	int n;
	cin>>n;
	double s = 0;
	double maxs = 0;
	forn(i, 0, n)
	{
		double a;
		cin>>a;
		s += a;
		maxs = max(maxs, s / (double)i);
	}

	printf("%.10f", maxs);

	return 0;
}

#include<stdio.h>
int main()
{
    int xi,j,m;
    double ans=0;
    scanf("%d",&xi);
    for(j=0;j<xi;j++)
    {
        scanf("%d",&m);
        ans+=m;
    }
    ans/=xi;
    printf("%.6f",ans);
}

#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
using namespace std;
string s;
int main()
{
	freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
   int a[100],i=1;
   while(cin)
   {
	   cin>>a[i]; i++;
	   }
	   for(int i=1;i<=4;i++)
	   cout<<a[i]<<' ';
	   double s=0,s1=0;
      i--;
	   for(int j=1;j<=i/2;j++)
	   s+=a[j];
	   for(int j=i/2;j<i;j++)
	   s1+=a[j];
	   printf("%0.6f",s1/s);
	}

//
//  E.cpp
//  Codeforces Round #172
//
//  Created by Tu on 13-4-2.
//  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
//

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main(){
    int n, foo = 0, bar = 0, baz = 0, quz = 1;
    cin >> n;
    while(n--){
        int pur;
        scanf("%d", &pur);
        foo += pur;
        bar += 1;
        if(max(foo * quz, max(bar * baz, foo * quz)) == 0)
            continue;
        baz = foo;
        quz = bar;
        //printf("%d %d %d %d\n", foo, bar, baz, quz);
    }
    printf("%.8lf\n", 1.0 * baz / quz);
    return 0;
}