A(split//, join'', map {qq|$_@{[ord(A)+(map-100+ord,split//, 'mdsk')[$.++]]}3|}map{344+((1,-1,-1,1)[$o++]*ord( 'd')*($i++ ==3?5:1))+ord}split//,'Codz');sub A{$_[0]&&do{($_[0]!=$_[1]) &&shift and&A||do{shift;shift;$_=$|; {$_*=10;$_+=shift;$_[0] ==3||redo}print chr,chr(1+15*shift);&A;}}}s,,$i++*$o+ord,ex;