#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define search(key, a, n) bsearch(key, a, n, sizeof(int), compare);
#define sort(a, n) qsort(a, n, sizeof(int), compare);
#define FOR(i, a, n) for(i = a; i < n; i++)
#define loop(i, n) FOR(i, 0, n)
void swap(int *a, int *b)
{
int *temp;
*temp = *a;
*a = *b;
*b = *temp;
}
int min(int a, int b)
{
if(a > b)
return b;
return a;
}
int max(int a, int b)
{
if(a > b)
return a;
return b;
}
int gcd(int a, int b)
{
return(b == 0 ? a : gcd(b, a%b));
}
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
int n, a[100000], b[100000], c[100000], counti[100001], countd[100001], maxi = 0, maxd = 0, i, j;
scanf(" %d", &n);
loop(i, n/2)
{
b[i] = i + 1;
c[i] = n / 2 + n % 2 - i;
}
for(i = n/2; i < n; i ++)
{
c[i] = i - n / 2 + 1;
b[i] = n - i;
}
/*loop(i, n)
printf("%d ", b[i]);
loop(i, n)
printf("%d ", c[i]);*/
loop(i, n)
{
scanf(" %d", a + i);
if(a[i] >= b[i])
{
counti[a[i] - b[i]] ++;
if(counti[maxi] < counti[a[i] - b[i]])
maxi = a[i] - b[i];
}
}
//printf("%d %d\n", maxi, counti[maxi]);
maxi = counti[maxi];
loop(i, n)
{
if(a[i] >= c[i])
{
countd[a[i] - c[i]] ++;
if(countd[maxd] < countd[a[i] - c[i]])
maxd = a[i] - c[i];
}
}
//printf("%d %d\n", maxd, countd[maxd]);
maxd = countd[maxd];
maxi = max(maxi, maxd);
printf("%d\n", n - maxi);
return 0;
}