package Ġy an dex . y 2 0 2 0 . qual Ċ Ċ private Ġfun Ġsolve (): ĠBoolean Ġ{ Ċ ĉ read Ln () Ċ ĉ val Ġa Ġ= Ġread Ints (). sorted () Ċ ĉ read Ln () Ċ ĉ val Ġb Ġ= Ġread Ints (). sorted () Ċ ĉ if Ġ( a . size Ġ!= Ġb . size ) Ġreturn Ġfalse Ċ ĉ if Ġ( a . isEmpty ()) Ġreturn Ġtrue Ċ ĉ val Ġa Same Ġ= Ġa . all Ġ{ Ġit Ġ== Ġa [ 0 ] Ġ} Ċ ĉ val Ġb Same Ġ= Ġb . all Ġ{ Ġit Ġ== Ġb [ 0 ] Ġ} Ċ ĉ if Ġ( a Same Ġ&& Ġb Same ) Ġreturn Ġtrue Ċ ĉ if Ġ( a Same Ġ|| Ġb Same ) Ġreturn Ġfalse Ċ ĉ return Ġgood ( a , Ġb ) Ġ|| Ġgood ( a , Ġb . reversed ()) Ċ } Ċ Ċ private Ġfun Ġgood ( a : ĠList < Int >, Ġb : ĠList < Int >): ĠBoolean Ġ{ Ċ ĉ return Ġa . indices . all Ġ{ Ċĉ ĉ ( a [ it ] Ġ- Ġa . first ()). to Long () Ġ* Ġ( b . last () Ġ- Ġb . first ()) Ġ== Ċĉĉĉ ĉ ( b [ it ] Ġ- Ġb . first ()). to Long () Ġ* Ġ( a . last () Ġ- Ġa . first ()) Ċ ĉ } Ċ } Ċ Ċ fun Ġmain () Ġ= Ġrepeat ( readInt ()) Ġ{ Ġprintln ( if Ġ( solve ()) Ġ" YES " Ġelse Ġ" NO ") Ġ} Ċ Ċ private Ġfun Ġread Ln () Ġ= Ġread Line () !! Ċ private Ġfun Ġread Int () Ġ= Ġread Ln (). toInt () Ċ private Ġfun Ġread Strings () Ġ= Ġread Ln (). split (" Ġ") Ċ private Ġfun Ġread Ints () Ġ= Ġread Strings (). filter Ġ{ Ġit . isNotEmpty () Ġ}. map Ġ{ Ġit . toInt () Ġ} Ċ