#include<stdio.h> 
  
int main(){ 
  int tab[101][3]; 
  int n,a,b,c,d,e,i,j,k,m,t,max,mx,cnt,cn; 
  for(i=0;i<101;i++){ 
    tab[i][0]=0; 
    tab[i][1]=i; 
    tab[i][2]=0; 
  } 
  scanf("%d",&n); 
  m=n*(n-1)/2; 
  for(k=0;k<m;k++){ 
    scanf("%d %d %d %d",&a,&b,&c,&d); 
    if(c>d){ 
      tab[a][0]+=3; 
    }else if(c<d){ 
      tab[b][0]+=3; 
    }else if(c==d){ 
      tab[a][0]++; 
      tab[b][0]++; 
    } 
  } 
  //for(i=1;i<=n;i++)printf("%d\n",tab[i][0]); 
  for(i=n;i>0;i--){ 
    for(j=1;j<i;j++){ 
      if(tab[j][0]<tab[j+1][0]){ 
    t=tab[j][0]; 
    tab[j][0]=tab[j+1][0]; 
    tab[j+1][0]=t; 
  
    t=tab[j][1]; 
    tab[j][1]=tab[j+1][1]; 
    tab[j+1][1]=t; 
      } 
    } 
  } 
  cnt=1; 
  cn=1; 
  //for(i=1;i<=n;i++)printf("%d %d\n",tab[i][0],tab[i][1]); 
  t=tab[1][0]; 
  tab[1][2]=cnt; 
  for(i=2;i<=n;i++){ 
    if(tab[i][0]==t){ 
      tab[i][2]=cnt; 
      cn++; 
    }else{ 
      cnt+=cn; 
      cn=1; 
      t=tab[i][0]; 
      tab[i][2]=cnt; 
    } 
      
  } 
  
  //for(i=1;i<=n;i++)printf("%d %d\n",tab[i][0],tab[i][2]); 
  
  for(i=n;i>0;i--){ 
    for(j=1;j<i;j++){ 
      if(tab[j][1]>tab[j+1][1]){ 
    t=tab[j][2]; 
    tab[j][2]=tab[j+1][2]; 
    tab[j+1][2]=t; 
      
    t=tab[j][1]; 
    tab[j][1]=tab[j+1][1]; 
    tab[j+1][1]=t; 
      } 
    } 
  } 
  for(i=1;i<=n;i++)printf("%d\n",tab[i][2]); 
  return 0; 
} 
#include <iostream>
#include <bits/stdc++.h>
#define mod 998244353
#define point complex<double>
#define pi acos(-1)
#define pb push_back


typedef long long ll;
typedef long double ld;

using namespace std;

void Fastio(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}
ld n, dp[305][305][305];
ld solve(int i, int y, int j){
    if(i+y+j==0)
        return 0;
    if(dp[i][y][j]!=-1)
        return dp[i][y][j];
    ld res=1, c0 = ( i + y + j);
    if(i)res+=solve(i-1, y+1, j)*((ld)i)/n;
    if(y)res+=solve(i, y-1, j+1)*((ld)y)/n;
    if(j)res+=solve(i, y, j-1)*((ld)j)/n;
    return dp[i][y][j]=res / c0 * n;
}
int main()
{
    Fastio();
    int ttt=1; //cin>>ttt;
    while(ttt--){
        cin>>n;
        int c1=0, c2=0, c3=0;
        for(int i=0; i<n; i++){
            int x; cin>>x;
            if(x==1)c1++;
            else if(x==2)c2++;
            else c3++;
        }
        for(int i=0; i<305; i++){
            for(int y=0; y<305; y++){
                for(int j=0; j<305; j++){dp[i][y][j]=-1;}
            }
        }
        cout<<fixed<<setprecision(9)<<solve(c3, c2, c1)<<'\n';
    }

    return 0;
}
