//コンパイラ最適化用
#pragma GCC optimize("Ofast")
#define _GLIBCXX_DEBUG
//インクルード(アルファベット順)
#include<algorithm>//sort,二分探索,など
#include<bitset>//固定長bit集合
#include<chrono>//実行時間計測
#include<cmath>//pow,logなど
#include<complex>//複素数
#include<deque>//両端アクセスのキュー
#include<functional>//sortのgreater
#include<iomanip>//setprecision(浮動小数点の出力の誤差)
#include<iostream>//入出力
#include<iterator>//集合演算(積集合,和集合,差集合など)
#include<map>//map(辞書)
#include<numeric>//iota(整数列の生成),gcdとlcm,accumulate
#include<queue>//キュー
#include<set>//集合
#include<stack>//スタック
#include<string>//文字列
#include<unordered_map>//順序保持しないmap
#include<unordered_set>//順序保持しないset
#include<utility>//pair
#include<vector>//可変長配列
#include<bits/stdc++.h>

//#include<atcoder/all>
//using namespace atcoder;

using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<ll, int> pli;
typedef pair<int, int> pii;
typedef pair<ll, ld> pld;
typedef pair<pii, int> ppiii;
typedef pair<pii, ll> ppiill;
typedef pair<pll, ll> ppllll;
typedef pair<pli, int> pplii;
typedef map<int, int> mii;
typedef deque<ll> dll;
typedef queue<ll> qll;
typedef priority_queue<ll> pqll;
typedef priority_queue<ll, vector<ll>, greater<ll>> pqrll;
typedef vector<int> vint;
typedef vector<ll> vll;
typedef vector<vector<ll>> vvll;
typedef vector<vector<int>> vvint;
typedef vector<vector<pll>> vvpll;

//マクロ
//forループ
//引数は、(ループ内変数,動く範囲)か(ループ内変数,始めの数,終わりの数)、のどちらか
//Dがついてないものはループ変数は1ずつインクリメントされ、Dがついてるものはループ変数は1ずつデクリメントされる
#define REP(i,n) for(ll i=0;i<ll(n);i++)
#define REPD(i,n) for(ll i=n-1;i>=0;i--)
#define FOR(i,a,b) for(ll i=a;i<=ll(b);i++)
#define FORD(i,a,b) for(ll i=a;i>=ll(b);i--)
//xにはvectorなどのコンテナ
#define ALL(x) x.begin(),x.end() 
#define SIZE(x) ll(x.size()) 
//定数
#define INF 1000000000000 //10^12:∞
#define MOD 1000000007 //10^9+7:合同式の法
#define MAXR 100000 //10^5:配列の最大のrange
//最大化問題最小化問題
template<class T> inline bool chmin(T& a, T b) {
    if (a > b) {
        a = b;
        return true;
    }
    return false;
}
template<class T> inline bool chmax(T& a, T b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}

signed main(){
    //入力の高速化用のコード
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    //入力
    ll N;
    string S;
    cin >> N >> S;
    ll Acount=0,Tcount=0,Gcount=0,Ccount=0;

    vvll stc(N+5,vll(5,0));
    //vvll stcsum(N,vll(5,0));


    FOR(i,1,N){
        REP(j,5){
        stc[i][j]=stc[i-1][j];
        }
        if(S[i-1]=='A'){
            Acount++;
            stc[i][1]=stc[i-1][1]+1;
        }
        if(S[i-1]=='T'){
            Tcount++;
            stc[i][2]=stc[i-1][2]+1;}
        if(S[i-1]=='G'){Gcount++;
        stc[i][3]=stc[i-1][3]+1;}
        if(S[i-1]=='C'){Ccount++;
        stc[i][4]=stc[i-1][4]+1;}
        
    }

    ll X = min(Acount,Tcount);
    ll Y = min(Gcount,Ccount);


    vvll dp(N+10,vll(N+10,0));


    FOR(i,1,N){
        FOR(j,i,N){
            ll a,t,g,c;
                a = stc[j][1]-stc[i-1][1];
                t = stc[j][2]-stc[i-1][2];
                g = stc[j][3]-stc[i-1][3];
                c = stc[j][4]-stc[i-1][4];
                if(a==t&&c==g){
                    dp[i][j] = 1;
                }
                else{continue;}
        }
    }

    ll ans = 0;
    FOR(i,1,N){
        FOR(j,i,N){
            ans += dp[i][j];
        }
    }

    //本文
    //出力
    cout << ans << endl;
    //REP(i,N) cout << ans.at(i) <<endl;
  return 0;
}
#include <bits/stdc++.h>
#pragma GCC optimize ("Ofast")
#define ll long long
#define ull unsigned long long
#define pll pair<long long,long long>
#define pii pair<int,int>
#define pb push_back
#define mp make_pair
#define F first
#define S second
#define forn(i, n) for(int i=0; i<int(n); i++)
#define Forn(i, n) for(int i=1; i<=int(n); i++)

using namespace std;

int n;
double a[100010];

int main()
{
    cin.tie(0); ios_base::sync_with_stdio(false);
    cin >> n;
    forn(i, n) cin >> a[i];
    sort(a, a+n);
    double opt = a[(n-1)/2]/2;
    double ans = 0;
    forn(i, n)
    {
        ans += a[i]/2 + abs(opt - a[i]/2);
    }
    cout << fixed << setprecision(8) << ans/(double)n << endl;
}
