Алдаркөсе


Шешімді жөнелту

Ұпайлар: 0
Уақыт шектеуі: 2.0s
Жад шектеуі: 256M

Problem types

Алдаркөсе ғимараттардың төбелерінде секіргенді ұнатады. Ол \(n \times m\) өлшемді матрица түрінде көрсетуге болатын қалаға келді, мұнда \(i\)-ші жол мен \(j\)-ші бағанның қиылысында биіктігі \(a_{i,j}\) болатын \((i,j)\) ғимараты орналасқан.

\((i,j)\) ғимаратының төбесінде тұрған кезде, ол кез келген көрші \((i+1,j),(i-1,j),(i,j+1),(i,j-1)\) ғимараттарының төбесіне секіре алады. Алдаркөсе секіретін \((v_1, v_2, \ldots, v_k)\) көршілес ғимараттардың тізбегін жүгіріс деп атаймыз. Жүгірістің ұзындығы — ондағы ғимараттардың саны \(k\) болсын. Алдаркөсе ғимараттардың төбесінде жақсы жүгіріс ұйымдастырғысы келеді. Жүгіріс жақсы деп аталады, егер келесі шарттар орындалса:

  • ғимараттардың биіктігі қатаң түрде артады, яғни \(v_1 < \ldots < v_k\),

  • әрбір келесі секіру алдыңғысынан жоғары, яғни \(v_2-v_1 < v_3-v_2 < \ldots < v_k-v_{k-1}\)

Ұзындығы \(1\) болатын кез келген жүгіріс жақсы екенін ескеріңіз. Алдаркөсеге жүгірісті кез келген ғимараттан бастауға болатын болса, жақсы жүгірістің ең үлкен ұзындығын табуға көмектесіңіз.

Input

Бірінші жолда екі бүтін \(n\) және \(m\) (\(1 \le n,m \le 10^3\)) сандары бар – қала өлшемі.

Келесі \(n\) жолдардың әрқайсысында \(m\) сан, \(i\)-шы жолда \(a_{i,1}, \ldots, a_{i,m}\) (\(1 \le a_{i, j} \le 10^9\)) сандары бар – қаладағы ғимараттардың биіктіктері.

Output

Бір бүтін сан шығарыңыз — жақсы жүгірістің ең үлкен ұзындығы.

Sample Input 1

3 3
1 2 6
3 4 9
2 5 10

Sample Output 1

4

Notes

Мысалда ұзындығы ең үлкен жақсы жүгіріс \(1 \rightarrow 2 \rightarrow 4 \rightarrow 9\) болады. Ұзындығы үлкенірек жақсы жүгіріс жоқ екенін көрсетуге болады.


Пікірлер

Қазіргі уақытта ешқандай пікір жоқ.