package Ġday 7 . first Ċ Ċ import Ġtools . execute Program Ċ import Ġtools . read Input Ċ import Ġtools . time Solution Ċ import Ġjava . util . Collections . swap Ċ Ċ fun Ġmain () Ġ= Ġtime Solution Ġ{ ĊĠ Ġval Ġcode Ġ= Ġread Input () ĊĠĠĠ Ġval Ġper mutations Ġ= Ġgenerate Per mutations ( mutable ListOf ( 0 , 1 , 2 , 3 , 4 )) ĊĠĠĠ Ġval Ġresult Ġ= Ġper mutations . map Ġ{ ĊĠĠĠĠĠ Ġ// Ġac ct uator Ġ 1 ĊĠĠĠĠĠ Ġvar Ġoutput Ġ= Ġexecute Program ( code , ĠlistOf ( it [ 0 ], 0 )) ĊĠĠĠĠĠ Ġ// Ġact uator Ġ 2 ĊĠĠĠĠĠ Ġoutput Ġ= Ġexecute Program ( code , ĠlistOf ( it [ 1 ], output . first ())) ĊĠĠĠĠĠ Ġ// act uator Ġ 3 ĊĠĠĠĠĠ Ġoutput Ġ= Ġexecute Program ( code , ĠlistOf ( it [ 2 ], output . first ())) ĊĠĠĠĠĠ Ġ// Ġact uator Ġ 4 ĊĠĠĠĠĠ Ġoutput Ġ= Ġexecute Program ( code , ĠlistOf ( it [ 3 ], output . first ())) ĊĠĠĠĠĠ Ġ// Ġact uator Ġ 5 ĊĠĠĠĠĠ Ġoutput Ġ= Ġexecute Program ( code , ĠlistOf ( it [ 4 ], output . first ())) ĊĠĠĠĠĠ ĠPair ( it . join ToString ("," ), Ġoutput . first ()) ĊĠĠĠ Ġ}. max By Ġ( Pair < String , ĠInt >:: second ) ĊĊĠ Ġprintln ( result ) Ċ } Ċ Ċ fun Ġgenerate Per mutations ( list : ĠMutable List < Int >) Ġ= Ġgenerate Per mutation ( list , Ġ 0 , Ġlist . size , Ġmutable ListOf ()) Ċ Ċ fun Ġgenerate Per mutation ( list : ĠMutable List < Int >, Ġstart : Int , Ġend : ĠInt , Ġresult : ĠMutable List < IntArray >): ĠMutable List < IntArray > Ġ{ ĊĠ Ġif Ġ( start Ġ== Ġend ) Ġ{ ĊĠĠĠ Ġresult . add ( list . to IntArray ()) ĊĠĠĠ Ġreturn Ġresult ĊĠ Ġ} ĊĠ Ġfor Ġ( i Ġin Ġstart Ġuntil Ġend ) Ġ{ ĊĠĠĠ Ġswap ( list , Ġstart , Ġi ) ĊĠĠĠ Ġgenerate Per mutation ( list , Ġstart + 1 , Ġend , Ġresult ) ĊĠĠĠ Ġswap ( list , Ġstart , Ġi ) ĊĠ Ġ} ĊĠ Ġreturn Ġresult Ċ } Ċ