#include <bits/stdc++.h>
using namespace std;
const int maks = 2001001;
int tab[maks]; // ile butelek aby odkryć tą konkretną
int poziomy, k; // ile poziomów ma stos, ile butelek bierzemy
int wynik = INT_MAX;
int main(){
cin >> poziomy >> k;
int a = 0;
for(int i = 1; i <= poziomy; i++)
{
for(int j = 1; j <= i; j++)
{
int butelka;
cin >> butelka;
if(poziomy == 1 or k == 1)
{
cout << butelka;
return 0;
}
a++;
if(j == 1)
{
tab[a] = tab[a - i + 1] + 1;
}
else if(j == i)
{
tab[a] = tab[a - i] + 1;
}
else
{
tab[a] = tab[a - i + 1] + tab[a - i] - tab[a - 2 * (i - 1)] + 1;
}
if(tab[a] <= k)
{
wynik = min(wynik, butelka);
}
}
}
cout << wynik;
}