sub sumTo { my $target = shift; for( 0 .. $#_ ) { if( $_[ $_ ] == $target ) return 1; } else { if( sumTo( $target - $_[$_], @_[0 .. $_-1, $_+1 .. $#_] ) ) { return 1; } } } return 0; }