sub hoge($){
my $val = shift;
my @retval;
while ($val != 0){
my $ntz = $val&(-$val);
unshift @retval, $ntz;
$val -= $ntz;
}
return @retval;
}