#include <iostream>
using namespace std;
int n;
int x;
int flag = 0;
void dfs(int n1, int t, int a[100000], int x1) {
if (x1 == 2 * x) flag=1;
else {
int* b;
b = new int[100000];
for (int j = 0; j < n - 1; j++) {
b[j] = a[j];
}
if (n1 >= n - 1) {
n1 = n - 1;
x1++;
}
if (n1 <= -1 && x1) {
n1 = -1;
x1++;
}
if (x1 % 2 == 0) {
if (n1 != -1) {
b[n1]--;
if (n1 >= 0 && n1 <= n - 2 && b[n1] < 0) return;
}
for (int i = t; i; i--)
dfs(n1 + i, t, b, x1);
}
else {
if (n1 != n - 1) {
b[n1]--;
if (n1 >= 0 && n1 <= n - 2 && b[n1] < 0) return;
}
for (int i = t; i ; i--)
dfs(n1 - i, t, b, x1);
}
}
}
int main()
{
int a[100000] = { 0 };
cin >> n >> x;
for (int i = 0; i < n - 1; i++) {
cin >> a[i];
}
for (int i = 1; i <= n; i++) {
dfs(-1, i, a, 0);
if (flag) {
cout << i;
break;
}
}
return 0;
}