package Ġcode jam 2 0 2 2 . round 1 c Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġinput FileName Ġ= Ġ" src / code jam 2 0 2 2 / round 1 c / Letter Blocks . in " ĊĠĠĠ Ġjava . io . File ( input FileName ). take If Ġ{ Ġit . exists () Ġ} ?. also Ġ{ ĠSystem . set In ( it . inputStream ()) Ġ} ĊĊĠĠĠ Ġfor Ġ( case Ġin Ġ 1 .. readLine () !!. toInt ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġread Line () Ġ// Ġn Ġ= Ġto wers . length ĊĠĠĠĠĠĠĠ Ġval Ġto wers Ġ= Ġread Line () !!. split (' Ġ'). to Mutable List () ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto wers . size Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tow ers [ i ]. toSet (). size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġto wers . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ!= Ġj ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tow ers [ i ]. first () Ġ== Ġto wers [ j ]. last ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers [ j ] Ġ+= Ġto wers [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers . remove At ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( tow ers [ i ]. last () Ġ== Ġto wers [ j ]. first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers [ j ] Ġ= Ġto wers [ i ] Ġ+ Ġto wers [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers . remove At ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġto wers . size Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 0 Ġuntil Ġto wers . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ!= Ġj ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tow ers [ i ]. first () Ġ== Ġto wers [ j ]. last ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers [ j ] Ġ+= Ġto wers [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers . remove At ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( tow ers [ i ]. last () Ġ== Ġto wers [ j ]. first ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers [ j ] Ġ= Ġto wers [ i ] Ġ+ Ġto wers [ j ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto wers . remove At ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġme ga Tower Ġ= Ġto wers . join ToString ("") ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġme ga Tower . length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprevious Ġ= Ġme ga Tower . lastIndexOf ( mega Tower [ i ], Ġi Ġ- Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( previous Ġin Ġ 0 .. i Ġ- Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġme ga Tower Ġ= Ġ" IMP OSS IBLE " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprintln (" Case Ġ#$ case : Ġ$ mega Tower ") ĊĠĠĠ Ġ} Ċ } Ċ