import Ġjava . util .* Ċ import Ġkotlin . Comparator Ċ Ċ class ĠL on gest Word In Dictionary Through Deleting Ġ{ ĊĠĠĠ Ġfun Ġfind Lon gest Word ( s : ĠString , Ġd : ĠList < String >) Ġ: ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs Compare Ġ= Ġcompare By < String >{ - it . length }. then By Ġ{ Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsorted Dict Ġ= Ġd . sorted With ( s Compare ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsorted Dict . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fits String ( s , sorted Dict [ i ])) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsorted Dict [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfits String ( s : ĠString , Ġtarget : ĠString ) Ġ: Boolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( target Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( s Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( s [ 0 ] Ġ== Ġtarget [ 0 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfits String ( s . substring ( 1 ), target . substring ( 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfits String ( s . substring ( 1 ), target ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }