#include using namespace std; int H, W; int B[111][111]; double calc(int x, int y) { double ret = 0; for (int yi = 1; yi <= H; yi++) { for (int xi = 1; xi <= W; xi++) { if (B[yi][xi]) ret += hypot(y - yi, x - xi); } } return ret; } int main() { cin >> H >> W; for (int yi = 0; yi < H; yi++) { string s; cin >> s; for (int xi = 0; xi < W; xi++) { B[yi+1][xi+1] = s[xi] - '0'; } } double ans = 1e8; for (int yi = 1; yi <= H; yi++) { ans = min(ans, calc(0, yi)); } for (int yi = 1; yi <= H; yi++) { ans = min(ans, calc(W+1, yi)); } for (int xi = 1; xi <= W; xi++) { ans = min(ans, calc(xi, 0)); } for (int xi = 1; xi <= W; xi++) { ans = min(ans, calc(xi, H+1)); } printf("%.10f\n", ans); return 0; }