package Ġcode forces . delt ix 2 0 2 1 summer Ċ import Ġkotlin . math . abs Ċ Ċ private Ġfun Ġsolve ( a : ĠList < Int >, Ġfirst : ĠInt ): ĠLong Ġ{ Ċ ĉ val Ġa Indices Ġ= Ġa . indices . filter Ġ{ Ġa [ it ] Ġ== Ġ 1 Ġ} Ċ ĉ val Ġneeded Indices Ġ= Ġa . indices . filter Ġ{ Ġit Ġ% Ġ 2 Ġ== Ġ 1 Ġ- Ġfirst Ġ} Ċ ĉ return Ġa Indices . zip ( needed Indices ) Ġ{ Ġx , Ġy Ġ-> Ġabs ( x Ġ- Ġy ). to Long () Ġ}. sum () Ċ } Ċ Ċ private Ġfun Ġsolve (): ĠLong Ġ{ Ċ ĉ read Ln () Ċ ĉ val Ġa Ġ= Ġread Ints (). map Ġ{ Ġit Ġand Ġ 1 Ġ} Ċ ĉ val Ġn Ġ= Ġa . size Ċ ĉ val Ġbalance Ġ= Ġa . sum () Ġ- Ġn Ġ/ Ġ 2 Ċ ĉ if Ġ( n Ġ% Ġ 2 Ġ== Ġ 0 ) Ġ{ Ċĉ ĉ if Ġ( balance Ġ== Ġ 0 ) Ġreturn Ġmin Of ( solve ( a , Ġ 0 ), Ġsolve ( a , Ġ 1 )) Ċ ĉ } Ġelse Ġ{ Ċĉ ĉ if Ġ( balance Ġin Ġ 0 .. 1 ) Ġreturn Ġsolve ( a , Ġbalance ) Ċ ĉ } Ċ ĉ return Ġ- 1 Ċ } Ċ Ċ fun Ġmain () Ġ{ Ċ ĉ repeat ( readInt ()) Ġ{ Ġprintln ( solve ()) Ġ} Ċ } Ċ Ċ 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 (). map Ġ{ Ġit . toInt () Ġ} Ċ