Program Lwx; Var n:longint; a:array[1..30007] of longint; b:array[1..3] of longint; i, j, k, max:longint;
Begin readln(n); for i := 1 to n doread(a[i]); fillchar(b, sizeof(b), 0); for i := 1 to n do begin k := 0; for j := 1 to a[i] do if b[j] > kthenk := b[j]; b[a[i]] := k + 1; end; max := 0; for i := 1 to 3 doif b[i] > maxthenmax := b[i]; fillchar(b, sizeof(b), 0); for i := n downto 1 do begin k := 0; for j := 1 to a[i] do if b[j] > kthenk := b[j]; b[a[i]] := k + 1; end; for i := 1 to 3 doif b[i] >maxthenmax := b[i]; write(n - max); End.