use overload"!",sub{$_=${$_[0]}+1;bless\$_},'neg',sub{$_=${$_[0]};
print+(split//,' erahtcJklnopsu.')[$_];$_=0;bless\$_};$a=0;$_=bless\$a
;-!!!!!! !!!! !!!! !-!!-!-! !!!! !! !- !!!!!!-! !!-!!! !-+-!!
!! !! !!!- !! -! -! !! !! !! !! !! !- -!
!- !- !! !! -! !! !! -! !! !! !! !! !! -!
!! !! !! !! !- !! !-+-!!!! !- !! !! !!
!! !! !! !- !!!! !! !! !! !!!!-! !!!!!!
$_
####
sub japh {$_.=getc*JAPH;/!/||japh();tr- !$*./;=AHJP_abceghjpstu{-t
eh .rPceakras reo nJluh-;print;exit}*JAPH=*DATA;seek*JAPH,0,0;japh;__DATA__
####
BEGIN{for(split//,'79ISjklmqruvwxz|'){my$a=chr(
ord^25);*{uc()}=sub{print$a}}};&9(S,M L,J),K &|
(Q X,M W,V),&|(&9(K),I);&9(U),&|(R Q,Z X),&7(K)