#include #include #include #include #include #include #include #define MAX 1024 using namespace std; int a[MAX][MAX]; double p[MAX][MAX], e[MAX], d[MAX]; double Solve(int n, int m) { for (int i = 0; i < n; ++i) { int sum = accumulate(a[i], a[i] + m, 0); for (int j = 0; j < m; ++j) { p[i][j] = (double)a[i][j] / (double)sum; } } memset(e, 0, sizeof(e)); memset(d, 0, sizeof(d)); for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { e[j] += p[i][j]; d[j] += p[i][j] * (1.0 - p[i][j]); } } double ret = 0; for (int i = 0; i < m; ++i) { ret += e[i] * e[i] + d[i]; } return ret; } int main() { int n, m; while (~scanf("%d%d", &n, &m)) { for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { scanf("%d", &a[i][j]); } } printf("%.2f\n", Solve(n, m)); } return 0; }