Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Las
(las-uf)
Memory limit: 128 MB
Time limit: 4.00 s

Pan Jan posiada spory teren lasu obejmujący kwadratowy teren o boku N. Rozmieszczonych jest tam N2 drzew, po N drzew w każdym wierszu i po N drzew w każdej kolumnie. Każde drzewo ma określony wiek. Pan Jan chce zbudować dom o powierzchni D, jednak w tym celu musi wyciąć pewien fragment swojego lasu (a dokładniej D drzew, ponieważ każde drzewo zajmuje 1 jednostkę powierzchni). Fragment ten musi być oczywiście spójny. Pan Jan zastanawia się teraz, który fragment wybrać. Chciałby, aby najstarsze drzewo ze wszystkich wyciętych było możliwie najmłodsze.

Wejście

Pierwszy wiersz standardowego wejścia zawiera dwie liczby całkowite N oraz D, oznaczające odpowiednio wielkość terenu oraz powierzchnię domu który chce zbudować pan Jan. N kolejnych wierszy zawiera po N liczb całkowitych Wi, k, oznaczających wiek drzewa stojącego w i-tym wierszu i k-tej kolumnie.

Wyjście

Pierwszy wiersz standardowego wyjścia powinien zawierać jedną liczbę całkowitą równą minimalnemu wiekowi najstarszego drzewa ze wszystkich wyciętych.

Ograniczenia

1 ≤ N ≤ 1 000, 1 ≤ D ≤ N2, 1 ≤ Wi, k ≤ 109.

Przykład

Input Output
5 6
3 4 1 2 4
3 1 2 4 6
6 9 1 1 7
1 7 9 4 3
1 1 1 1 6
2