program seqmm;
var
a: array[1..100000] of longint;
n, i, max_pos, min_pos, max_val, min_val, left, right, ans: longint;
begin
readln(n);
for i := 1 to n do read(a[i]);
max_pos := 1; min_pos := 1; max_val := a[1]; min_val := a[1];
for i := 2 to n do
begin
if a[i] > max_val then
begin
max_val := a[i];
max_pos := i;
end;
if a[i] < min_val then
begin
min_val := a[i];
min_pos := i;
end;
end;
left := min(min_pos, max_pos);
right := max(min_pos, max_pos);
ans := right - left + 1;
for i := 1 to n do
if (a[i] = max_val) or (a[i] = min_val) then
begin
if i < left then left := i;
if i > right then right := i;
ans := right - left + 1;
end;
writeln(ans);
end.