function [output] = region(input)

[m n] = size(input);

for i = 2:m-1
  for j = 2:n-1
      if input(i+1,j) ~= input(i,j) & input(i,j) ~= input(i-1,j) 
         output(i,j) = max([ input(i+1,j) input(i-1,j) ]);
      elseif input(i,j+1) ~= input(i,j) & input(i,j) ~= input(i,j-1)
         output(i,j) = max([ input(i,j-1) input(i,j+1) ]);
      else 
         output(i,j) = input(i,j);
      end
  end
end
