# 全探索・・・ def fill(map) ret = [] xys = [] xys << map.map.with_index{|row,y| x = row.index("."); [x, y]} .find{|x,y| x && y} while xy = xys.shift do x, y = xy if map[y][x] == "." then map[y][x] = " " ret << [x, y] xys << [x + 1, y] xys << [x - 1, y] xys << [x, y + 1] xys << [x, y - 1] end end return ret end gets map = $stdin.read.lines.map{|l| l.chomp.chars} as = fill(map) bs = fill(map) mds = [] as.each do |xa, ya| bs.each do |xb, yb| mds << (xa - xb).abs + (ya - yb).abs end end puts mds.min - 1