package Ġcom . m ichael tro ger . lat int oc yr il lic . alph ab ets ĊĊ Ċ internal Ġclass ĠCustom Alphabet ( latin : ĠList < String >, Ġcy ril lic : ĠList < Char >) Ġ: ĠLat in C yr il lic Alphabet () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( latin . size Ġ== Ġcy ril lic . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Latin Ġand ĠC yr il lic Ġal ph ab ets Ġmust Ġhave Ġsame Ġsize . ĠBut Ġhave : ĠLat in :${ latin . size }/ C yr il lic :${ cy ril lic . size }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlatin . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( it . isNotEmpty () Ġ&& Ġit . length Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Only Ġ 1 Ġor Ġ 2 Ġlatin Ġcharacters Ġallowed Ġto Ġdescribe Ġa Ġletter Ġin Ġalphabet . ĠBut Ġwere :${ it . length }/ Letter :${ it }\ "" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġlatin To C yr il lic Alphabet : ĠMap < String , ĠString > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġlatin . associate With Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcy ril lic [ i ++ ]. toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ