Sətirlər
Bir sıra A = a_1a_2...a_n, əgər B = b_1b_2...b_m sətirinin bir alt sətiridirsə, bu o deməkdir ki, elə bir k (1 ≤ k ≤ m-n+1) ədədi mövcuddur ki, a_1 = b_k, a_2 = b_{k+1}, ..., a_n = b_{k+n-1}.
Sətir B, A üçün bir üst sətir adlanır, əgər A, B sətirinin alt sətiridirsə.
Sətir A = a_1a_2...a_n, B = b_1b_2...b_m sətirindən leksikoqrafik olaraq kiçikdir, əgər elə bir k mövcuddur ki, bütün 1 ≤ t ≤ k üçün a_t = b_t və ya a_{k+1} < b_{k+1}, yaxud A uzunluğu k-yə bərabərdir və B uzunluğu k-dən böyükdür.
Verilmişdir S və T. Elə bir sətir tapmaq lazımdır ki, həm S sətirinin alt sətiri, həm də T sətirinin üst sətiri olsun. Əgər belə sətirlər bir neçə varsa, onların ən uzunu çıxarın. Əgər ən uzun sətirlər bir neçə varsa, leksikoqrafik olaraq ən kiçiyini çıxarın.
Giriş verilənləri
Birinci sətirdə S sətiri (1 ≤ |S| ≤ 4000) yerləşir. İkinci sətirdə T sətiri (1 ≤ |T| ≤ 4000) yerləşir. Hər iki sətir kiçik latın hərflərindən ibarətdir. Burada |S| və |T| müvafiq olaraq S və T sətirlərinin uzunluqlarını göstərir.
Çıxış verilənləri
Çıxış faylında axtarılan sətiri çıxarın və ya belə bir sətir yoxdursa, "NO SOLUTION" (dırnaqsız) çıxarın.