using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static string[] SList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => ReadLine()).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (h, w) = (c[0], c[1]); var p = SList(h); var ans = double.MaxValue; for (var si = 0; si < h; ++si) { var left = 0.0; var right = 0.0; for (var i = 0; i < h; ++i) for (var j = 0; j < w; ++j) if (p[i][j] == '1') { left += Length(i, j, si, -1); right += Length(i, j, si, w); } ans = Math.Min(ans, Math.Min(left, right)); } for (var sj = 0; sj < w; ++sj) { var top = 0.0; var btm = 0.0; for (var i = 0; i < h; ++i) for (var j = 0; j < w; ++j) if (p[i][j] == '1') { top += Length(i, j, -1, sj); btm += Length(i, j, h, sj); } ans = Math.Min(ans, Math.Min(top, btm)); } WriteLine(ans); } static double Length(int x1, int y1, int x2, int y2) { return Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); } }