- or download this
for$a(@a=<>){$_=$a;while(s/^(\d+)/push(@{$a{$a}},$1-256),''/e||s!^(.)!
+push(@{$a{$a}},2**32-256+2*ord(lc$1)+(lc($1)eq$1)),''!e){}}sub a{$a{$
+a}[$i=shift]<=>$a{$b}[$i]or$i>length($a)or a($i+1)}print sort{a}@a
- or download this
for$a(@a=<>){$_=$a;while(s/^(\d+)/push(@{$a{$a}},$1-256),''/e||s!^(.)!
+push(@{$a{$a}},2**32-256+ord(lc$1)),''!e){}}sub a{$a{$a}[$i=shift]<=>
+$a{$b}[$i]or$i>length($a)or a($i+1)}print sort{a}@a
- or download this
for$a(@a=<>){$_=$a;while(s/^(\d+)/push(@{$a{$a}},$1),''/e||s!^(.)!push
+(@{$a{$a}},-256+ord(lc$1)),''!e){}}sub a{$a{$a}[$i=shift]<=>$a{$b}[$i
+]or$i>length($a)or a($i+1)}print sort{a}@a