use strict;
use PDL::LiteF;
use PDL::Primitive;
use PDL::Reduce;
use PDL::Types;
use integer;
my ($ans, $total, $total2, $sum, $num, $ones, $zeros);
my $shifts = long (
0,
1,
1 << 1,
1 << 2,
1 << 3,
1 << 4,
1 << 5,
1 << 6,
1 << 7,
1 << 8,
1 << 9,
1 << 10,
1 << 11,
1 << 12,
1 << 13,
1 << 14,
1 << 15,
1 << 16,
1 << 17,
1 << 18,
1 << 19,
1 << 20,
1 << 21,
1 << 22,
1 << 23
);
$ans = 0;
for my $num (0 .. 16777216) {
$sum = sum(which($shifts & $num));
$total = 2*$sum - 300;
$ans++ if $total == 0;
}
print "$ans\n";
use Inline C;
print "answer is ", bitlevels(), "\n";
__END__
__C__
/* begin c++ code */
/* #include<iostream> */
/* using namespace std; */
int bitlevels()
{
unsigned int ans=0;
int num, total, i;
unsigned int shift;
for(num=0;num<16777216;++num)
{
total=0;
shift=1;
for(i=1;i<=24;++i)
{
if(num & shift)
{
total+=i;
}
else
{
total-=i;
}
shift<<=1;
}
if(total==0) ++ans;
}
return ans;
}
/* end c++ code */