#include <stdio.h>
#include <cstring>
int main() {
int n, x;
scanf("%d", &n);
int a[101][2];
memset(a, 0, 202*sizeof(int));
for (int i = 0; i < n; i++) {
scanf("%d", &x);
if (a[x][0] == 0) {
a[x][0] = i;
} else {
a[x][1] = (i - a[x][0]) > a[x][1]?(i - a[x][0]):a[x][1];
a[x][0] = i;
}
}
int ma = -1;
for (int i = 1; i < 101; i++) {
if (a[i][1] > ma) {
ma = a[i][1];
}
}
printf("%d", ma);
return 0;
}
/*
uses math;
var a : array [1..100, 1..2] of integer;
n, i, ma, x : integer;
begin
read(n);
for i := 1 to n do begin
read(x);
if a[x, 1] = 0 then a[x, 1] := i
else begin
a[x, 2] := max(i - a[x, 1], a[x, 2]);
a[x, 1] := i;
end;
end;
for i := 1 to 100 do
ma := max(ma, a[i, 2]);
write(ma);
end.
*/
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjc3RyaW5nPgoKaW50IG1haW4oKSB7CglpbnQgbiwgeDsKCXNjYW5mKCIlZCIsICZuKTsKCWludCBhWzEwMV1bMl07CgltZW1zZXQoYSwgMCwgMjAyKnNpemVvZihpbnQpKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CgkJc2NhbmYoIiVkIiwgJngpOwoJCWlmIChhW3hdWzBdID09IDApIHsKCQkJYVt4XVswXSA9IGk7CgkJfSBlbHNlIHsKCQkJYVt4XVsxXSA9IChpIC0gYVt4XVswXSkgPiBhW3hdWzFdPyhpIC0gYVt4XVswXSk6YVt4XVsxXTsKCQkJYVt4XVswXSA9IGk7CgkJfQoJfQoJCglpbnQgbWEgPSAtMTsKCWZvciAoaW50IGkgPSAxOyBpIDwgMTAxOyBpKyspIHsKCQlpZiAoYVtpXVsxXSA+IG1hKSB7CgkJCW1hID0gYVtpXVsxXTsKCQl9Cgl9CgkKCXByaW50ZigiJWQiLCBtYSk7CgkKCXJldHVybiAwOwp9CgovKgp1c2VzIG1hdGg7CnZhciBhIDogYXJyYXkgWzEuLjEwMCwgMS4uMl0gb2YgaW50ZWdlcjsKICAgICAgIG4sIGksIG1hLCB4IDogaW50ZWdlcjsKYmVnaW4KICByZWFkKG4pOwogIGZvciBpIDo9IDEgdG8gbiBkbyBiZWdpbgogICByZWFkKHgpOwogICBpZiBhW3gsIDFdID0gMCB0aGVuIGFbeCwgMV0gOj0gaQogICBlbHNlIGJlZ2luCiAgICBhW3gsIDJdIDo9IG1heChpIC0gYVt4LCAxXSwgYVt4LCAyXSk7CiAgICBhW3gsIDFdIDo9IGk7CiAgIGVuZDsKICBlbmQ7CiAgCiAgZm9yIGkgOj0gMSB0byAxMDAgZG8KICAgbWEgOj0gbWF4KG1hLCBhW2ksIDJdKTsKICAgCiAgd3JpdGUobWEpOwplbmQuCiov