#include <iostream>
#include <cmath>
using namespace std;
short zaokragl(double wartosc)
{
return floor(wartosc + 0.5);
}
short obliczOddalenieOdBrzegu(short kolumna, short ileKolumn)
{
short polowa = zaokragl(((double)ileKolumn) / 2);
return kolumna <= polowa
? kolumna
: ileKolumn - kolumna + 1;
}
short ileElementowMaPiramida(short iloscWierszy)
{
return iloscWierszy * (iloscWierszy + 1) >> 1;
}
int main()
{
int n;
int k;
short current;
short bottles[2000][2000];
cin >> n >> k;
for (int i = 0 ; i < n ; i++)
{
for (int j = 0 ; j <= i ; j++)
{
cin >> current;
bottles[i][j] = current;
}
}
short minX = 0;
short minY = 0;
short minYear = 2019;
for (int i = 0 ; i < n ; i++)
{
for (int j = 0 ; j <= i ; j++)
{
short oddalenieOdBrzegu = obliczOddalenieOdBrzegu(j + 1, i + 1);
short minSteps = oddalenieOdBrzegu * i - ileElementowMaPiramida(oddalenieOdBrzegu - 1) + 1;
if (minSteps <= k && bottles[i][j] < minYear)
{
minYear = bottles[i][j];
minX = i;
minY = j;
}
}
}
cout << bottles[minX][minY];
return 0;
}