#include <iostream>
int main() {
int n = 16384;
int m = 4;
int k[m];
int totale = 0;
int i;
int j[m];
int p;
for ( i = 2; i <= m;)
{
k[1] = n-m;
k[i] = 0;
i++;
}
for (;k[1] >= k[2];)
{
totale++;
k[1]--;
k[2]++;
}
for ( i = 2; i <= m;)
{
k[1] = n-m;
k[i] = 0;
i++;
}
for ( p = 1; p <= m;)
{
j[p] = 0;
p++;
}
for(;k[1] >= k[3];)
{
if(k[1]-k[3] >= 3)
{
j[2]++;
j[3]++;
k[1]=n-m-j[2]-j[3];
k[2]=j[2];
k[3]=j[3];
for (;k[1] >= k[2];)
{
totale++;
k[1]--;
k[2]++;
}
k[1]=n-m-j[2]-j[3];
k[2]=j[2];
}
else
{
k[1]=k[3]-1;
}
}
for ( i = 2; i <= m;)
{
k[1] = n-m;
k[i] = 0;
i++;
}
for ( p = 1; p <= m;)
{
j[p] = 0;
p++;
}
for(;k[1] >= k[4];)
{
if (k[1]-k[4] >= 4)
{
j[4]++;
k[4]=j[4];
for(;k[1] >= k[3];)
{
if(k[1]-k[3] >= 3)
{
j[2]++;
j[3]++;
k[1]=n-m-j[2]-j[3]-j[4];
k[2]=j[2];
k[3]=j[3];
for (;k[1] >= k[2];)
{
totale++;
k[1]--;
k[2]++;
}
k[1]=n-m-j[2]-j[3]-j[4];
k[2]=j[2];
}
else
{
k[1]=k[3]-1;
}
}
j[2]=j[4];
j[3]=j[4];
k[1]=n-m-j[2]-j[3]-j[4];
k[2]=j[2];
k[3]=j[3];
}
else
{
k[1]=k[4]-1;
}
}
std::cout << "Il totale e'" << " " << totale << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCmludCBtYWluKCkgewogICAgaW50IG4gPSAxNjM4NDsKICAgIGludCBtID0gNDsKICAgIGludCBrW21dOwogICAgaW50IHRvdGFsZSA9IDA7CiAgICBpbnQgaTsKICAgIGludCBqW21dOwogICAgaW50IHA7CiAgICBmb3IgKCBpID0gMjsgaSA8PSBtOykKICAgIHsKICAgIGtbMV0gPSBuLW07CiAgICBrW2ldID0gMDsKICAgIGkrKzsKICAgIH0KICAgIGZvciAoO2tbMV0gPj0ga1syXTspCiAgICB7CiAgICB0b3RhbGUrKzsKICAgIGtbMV0tLTsKICAgIGtbMl0rKzsKICAgIH0KICAgIGZvciAoIGkgPSAyOyBpIDw9IG07KQogICAgewogICAga1sxXSA9IG4tbTsKICAgIGtbaV0gPSAwOyAKICAgIGkrKzsKICAgIH0KICAgIGZvciAoIHAgPSAxOyBwIDw9IG07KQogICAgewogICAgaltwXSA9IDA7CiAgICBwKys7CiAgICB9CiAgICBmb3IoO2tbMV0gPj0ga1szXTspCiAgICB7CiAgICBpZihrWzFdLWtbM10gPj0gMykKICAgIHsKICAgIGpbMl0rKzsKICAgIGpbM10rKzsKICAgIGtbMV09bi1tLWpbMl0talszXTsKICAgIGtbMl09alsyXTsKICAgIGtbM109alszXTsKICAgIGZvciAoO2tbMV0gPj0ga1syXTspCiAgICB7CiAgICB0b3RhbGUrKzsKICAgIGtbMV0tLTsKICAgIGtbMl0rKzsKICAgIH0KICAgIGtbMV09bi1tLWpbMl0talszXTsKICAgIGtbMl09alsyXTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICBrWzFdPWtbM10tMTsgICAKICAgIH0KICAgIH0KICAgIGZvciAoIGkgPSAyOyBpIDw9IG07KQogICAgewogICAga1sxXSA9IG4tbTsKICAgIGtbaV0gPSAwOyAKICAgIGkrKzsKICAgIH0KICAgIGZvciAoIHAgPSAxOyBwIDw9IG07KQogICAgewogICAgaltwXSA9IDA7CiAgICBwKys7CiAgICB9CiAgICBmb3IoO2tbMV0gPj0ga1s0XTspCiAgICB7CiAgICBpZiAoa1sxXS1rWzRdID49IDQpCiAgICB7CiAgICBqWzRdKys7CiAgICBrWzRdPWpbNF07CiAgICBmb3IoO2tbMV0gPj0ga1szXTspCiAgICB7CiAgICBpZihrWzFdLWtbM10gPj0gMykKICAgIHsKICAgIGpbMl0rKzsKICAgIGpbM10rKzsgICAgICAgCiAgICBrWzFdPW4tbS1qWzJdLWpbM10tals0XTsKICAgIGtbMl09alsyXTsKICAgIGtbM109alszXTsKICAgIGZvciAoO2tbMV0gPj0ga1syXTspCiAgICB7CiAgICB0b3RhbGUrKzsKICAgIGtbMV0tLTsKICAgIGtbMl0rKzsKICAgIH0KICAgIGtbMV09bi1tLWpbMl0talszXS1qWzRdOwogICAga1syXT1qWzJdOwogICAgfQogICAgZWxzZQogICAgewogICAgIGtbMV09a1szXS0xOyAgIAogICAgfQogICAgfQogICAgalsyXT1qWzRdOwogICAgalszXT1qWzRdOwogICAga1sxXT1uLW0talsyXS1qWzNdLWpbNF07CiAgICBrWzJdPWpbMl07CiAgICBrWzNdPWpbM107CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICBrWzFdPWtbNF0tMTsgIAogICAgfQogICAgfQogICAgCiAgICAKICAgIHN0ZDo6Y291dCA8PCAiSWwgdG90YWxlIGUnIiA8PCAiICIgPDwgdG90YWxlIDw8IHN0ZDo6ZW5kbDsKICAgIHJldHVybiAwOwp9