#include <bits/stdc++.h>

using namespace std;

#define int long long


main(){


    int h, w; cin >> h >> w;
    
    vector < vector <char> > table(h, vector <char> (w));
    
    for(int i = 0; i < h; i++){
        for(int j = 0; j < w; j++){
            cin >> table[i][j];
        }
    }
    
    vector < pair <int, int> > g;
    
    for(int i = 0; i < h; i++){
        for(int j = 0; j < w; j++){
            g.emplace_back(i, j);
        }
    }
    
    int INF = 1e9;
    vector < vector <int> > d(h * w, vector <int> (h * w, INF));
    
    for(int k = 0; k < g.size(); k++){
        for(int i = 0; i < g.size(); i++){
            for(int j = 0; j < g.size(); j++){
                d[i][j] = min(d[i][j], d[i][k] + d[k][j])
            }
        }
    }
    
    
    
    return 0;
}
