#include #include #include #include #include #include #include #include #define ls (t<<1) #define rs ((t<<1)+1) #define mid ((l+r)>>1) #define fi first #define se second #define mk make_pair #define N 1005 #define M 200005 #define seed 23333 #define Mo 998244353 using namespace std; int i,j,m,n,p,k,a[N][N],sum[N]; double f[N],len[N],ans,prob[N][N]; int main() { while (scanf("%d%d",&n,&m)!=EOF) { memset(sum,0,sizeof(sum)); ans=0; for (i=1;i<=n;++i) { for (j=1;j<=m;++j) scanf("%d",&a[i][j]),sum[i]+=a[i][j]; } for (i=1;i<=n;++i) for (j=1;j<=m;++j) prob[i][j]=1.*a[i][j]/sum[i]; for (i=1;i<=m;++i) { memset(f,0,sizeof(f)); memset(len,0,sizeof(len)); for (j=1;j<=n;++j) { f[j]=f[j-1]+prob[j][i]*(2*len[j-1]+1); //len[j]=prob[j][i]*(len[j-1]+1); len[j]=len[j-1]+prob[j][i]; } ans+=f[n]; } printf("%.2lf\n",ans); } }