def r( t, y, z) :import numpy; l= numpy.array ( [ i.split ( ) for i in z.split ( '\n ' ) ] ) ; A, B, C, D= t[ 0 ] , y[ 0 ] , t[ 1 ] , y[ 1 ] ; p= [ 1 , -1 ] ; a= p[ A> B] ; b= p[ C> D] ; n= range ( A, B+a, a) ; m= range ( C, D+b, b) ; w= [ l[ :, i] [ ::-1 ] [ p] for i, p in zip ( [ [ A] *len ( m) , n] [ A!= B] , [ [ C] *len ( n) , m] [ C!= D] ) ] ; return w
a= eval ( input ( ) )
print ( '' .join ( r( eval ( input ( ) ) , eval ( input ( ) ) , a) ) )
ZGVmIHIodCx5LHopOmltcG9ydCBudW1weTtsPW51bXB5LmFycmF5KFtpLnNwbGl0KClmb3IgaSBpbiB6LnNwbGl0KCdcbicpXSk7QSxCLEMsRD10WzBdLHlbMF0sdFsxXSx5WzFdO3A9WzEsLTFdO2E9cFtBPkJdO2I9cFtDPkRdO249cmFuZ2UoQSxCK2EsYSk7bT1yYW5nZShDLEQrYixiKTt3PVtsWzosaV1bOjotMV1bcF1mb3IgaSxwIGluIHppcChbW0FdKmxlbihtKSxuXVtBIT1CXSxbW0NdKmxlbihuKSxtXVtDIT1EXSldO3JldHVybiB3CmE9ZXZhbChpbnB1dCgpKQpwcmludCgnJy5qb2luKHIoZXZhbChpbnB1dCgpKSxldmFsKGlucHV0KCkpLGEpKSk=
stdin
JnF1b3Q7QSBHIE8gQSBUIEMgQSBUXG5FIEEgVCBNIEUgTiBPIFdcblcgTyBSIEQgUyBFIEEgUlxuQSBLIEwgTCBLIEogSCBHXG5OIFAgTCBGIEcgSCBGIERcbkEgUyBQIEwgSyBKIEggR1xuTyBQIEkgTCBGIEcgSCBKXG5UIEYgQSBTIEUgSiBLIEwmcXVvdDsKKDAsNCkKKDQsMCkK
"A G O A T C A T\nE A T M E N O W\nW O R D S E A R\nA K L L K J H G\nN P L F G H F D\nA S P L K J H G\nO P I L F G H J\nT F A S E J K L"
(0,4)
(4,0)