#!/usr/bin/perl
use bigint;
$re_code = qr/[\x00-\x7f]|[\xc0-\xdf].|[\xe0-\xef]..|[\xf0-\xf7].../;
for $s ( <STDIN> ) {
%d = ();
for $c ( $s =~ /($re_code)/g ) { $d{$c} ++; }
printf "%s : %d\n", $s, &ao($s, \%d); }
sub ao {
my($s, $ad) = @_;
my($h, $t) = ( $s =~ /($re_code)(.*)$/ );
my %d = %$ad;
my $r = 0;
delete $d{$c} unless -- $d{$c}; return $r + &ao($t, \%d) if $c eq $h ; my($p, $k) = (1, 1);
for $v ( values %d ) { for $i ( 1 .. $v ) { ($p *= $k ++) /= $i; } } $r += $p;
$d{$c} ++;
}
}
IyEvdXNyL2Jpbi9wZXJsCgp1c2UgYmlnaW50OwoKJHJlX2NvZGUgPSBxci9bXHgwMC1ceDdmXXxbXHhjMC1ceGRmXS58W1x4ZTAtXHhlZl0uLnxbXHhmMC1ceGY3XS4uLi87Cgpmb3IgJHMgKCA8U1RESU4+ICkgewoJY2hvbXAgJHM7CgklZCA9ICgpOwoJZm9yICRjICggJHMgPX4gLygkcmVfY29kZSkvZyApIHsgJGR7JGN9ICsrOyB9CglwcmludGYgIiVzIDogJWRcbiIsICRzLCAmYW8oJHMsIFwlZCk7Cn0KCnN1YiBhbyB7CglteSgkcywgJGFkKSA9IEBfOwoJcmV0dXJuIDEgdW5sZXNzIGxlbmd0aCAkczsKCW15KCRoLCAkdCkgPSAoICRzID1+IC8oJHJlX2NvZGUpKC4qKSQvICk7CglteSAlZCA9ICUkYWQ7CglteSAkciA9IDA7Cglmb3IgJGMgKCBzb3J0IGtleXMgJWQgKSB7CgkJZGVsZXRlICRkeyRjfSB1bmxlc3MgLS0gJGR7JGN9OwoJCXJldHVybiAkciArICZhbygkdCwgXCVkKSBpZiAkYyBlcSAkaCA7CgkJbXkoJHAsICRrKSA9ICgxLCAxKTsKCQlmb3IgJHYgKCB2YWx1ZXMgJWQgKSB7IGZvciAkaSAoIDEgLi4gJHYgKSB7ICgkcCAqPSAkayArKykgLz0gJGk7IH0gfQoJCSRyICs9ICRwOwoJCSRkeyRjfSArKzsKCX0KfQ==
aGVsbG8KY2FiYWFjCjIwMjEzMTIKVGhpcyBpcyBhbiBhcHBsZS4K44GE44KN44Gv44Gr44G744G444Go44Gh44KK44Gs44KL44KSCuOBoeOCh+OBo+OBqOOBoeOCh+OBo+OBqOOAgeWkp+W2i+OBleOCk+OAguWwj+WztuOBoOOCiO+8gQpO6YCy5pWw44KS5Ye644Gb44Gw44GE44GE44Gg44GR44GY44KD44Gt44GI44Gu44Kz44OsCuOChOOBo+OBpuOBv+OCjeOChOOCq+OCuQ==
hello
cabaac
2021312
This is an apple.
いろはにほへとちりぬるを
ちょっとちょっと、大嶋さん。小島だよ!
N進数を出せばいいだけじゃねえのコレ
やってみろやカス