sub c {
($_,$a)=@_;
map{$h{$_}?$h{$_}:do{$h{$_}=(split//,$a)[$i++]."\0"}}/./g
}
####
sub c {
($_,$a)=@_;$b=$_;
1 while$b=~s/(.)(.*?)\1/$1$2/g;
eval"y/$b/$a/";
$_
}
####
sub c {
($_,$a)=@_;$b=$_;
1 while$b=~s/(.)(.*?)\1/$1$2/g;
eval"y/\Q$b\E/\Q$a\E/";
$_
}